diff --git a/public/docs/dart/latest/quickstart.jade b/public/docs/dart/latest/quickstart.jade
index 36edf1c728..bf8a4977f8 100644
--- a/public/docs/dart/latest/quickstart.jade
+++ b/public/docs/dart/latest/quickstart.jade
@@ -11,11 +11,11 @@ p.
p.
In a new directory, create a pubspec.yaml
file.
- Add angular2 and browser as dependencies,
- and add the angular2 transformer:
- [PENDING: if the transformer isn't working in time,
- remove it and use reflection in Dartium instead.
- Perhaps require Dart 1.9.]
+ Add angular2 and browser as dependencies:
+
+ // [PENDING: if the transformer isn't working in time,
+ // remove it and use reflection in Dartium instead.
+ // Perhaps require Dart 1.9.]
pre.prettyprint.linenums
code.
@@ -24,14 +24,12 @@ p.
dependencies:
angular2: ">=2.0.0-alpha.6 <3.0.0"
browser: any
- transformers:
- - angular2
p.
In the same directory, run pub get
to install the angular2 and browser packages
(along with the packages they depend on):
- pre.prettyprint.linenums
+ pre.prettyprint
code.
> pub get
Resolving dependencies... (7.3s)
@@ -41,23 +39,28 @@ p.
+ stack_trace 1.2.3
Changed 4 dependencies!
- p.
- PENDING: Create template? Link to pub/pubspec docs?
- Is browser really needed?
- TODO: make this an invisible note.
+ // PENDING: Create template? Link to pub/pubspec docs?
+ // Is browser really needed?
+ // TODO: make this an invisible note.
+
// STEP 2 - Import Angular ##########################
.l-main-section
h2#section-transpile 2. Import Angular
p.
- Under the same directory, create a web
directory.
+ Still in the same directory, create a web
directory.
Create a file under web
named main.dart
.
- Edit web/main.dart
to import the angular2 library:
+ Edit web/main.dart
to import the angular2 library
+ and (for now) two reflection libraries:
pre.prettyprint.linenums
- code import 'package:angular2/angular2.dart';
+ code.
+ import 'package:angular2/angular2.dart';
+ // These imports will go away soon:
+ import 'package:angular2/src/reflection/reflection.dart' show reflector;
+ import 'package:angular2/src/reflection/reflection_capabilities.dart' show ReflectionCapabilities;
// STEP 3 - Define a component ##########################
.l-main-section
@@ -71,29 +74,31 @@ p.
with annotations that describe the component.
p.
- Update web/main.dart
to contain the following code,
+ Update web/main.dart
to add the following code,
which defines the app component:
pre.prettyprint.linenums
code.
- import 'package:angular2/angular2.dart';
-
@Component(
- selector: 'app'
+ selector: 'app'
)
- @Template({
+ @Template(
inline: '<h1>Hello {{ name }}</h1>'
- })
+ )
class AppComponent {
String name = 'Alice';
}
+ // TODO: Change or omit line numbers.
+
.l-sub-section
h3 Annotations
p.
- The @Component
annotation defines the HTML tag for the component. [PENDING: component controller?]
- The selector
property specifies the tag. The selector
property is a CSS selector. [PENDING: huh?]
+ The @Component
annotation defines the HTML tag for the component.
+ The selector
property specifies the tag. The selector
property is a CSS selector.
+
+ // [PENDING: that last paragraph needs work!]
p.
The @Template
annotation defines the template to apply to the
@@ -104,17 +109,17 @@ p.
pre.prettyprint.linenums
code.
@Component(
- selector: 'app'
+ selector: 'app'
)
- @Template({
+ @Template(
inline: '<h1>Hello {{ name }}</h1>'
- })
+ )
p.
The annotations above specify an HTML tag of <app></app>
and a template of <h1>Hello {{ name }}</h1>
.
- p TODO: make double-mustaches work in text (they do work in listings)
+ // TODO: In the preceding paragraph, that should be rendered as {{ name }}, like in the listing.
.l-sub-section
h3 The template and the component controller
@@ -122,10 +127,17 @@ p.
p.
A template has access to all the public properties and methods
of its component controller.
- [PENDING: Do we really want to use the term "component controller"?
- If so, set it up beforehand.
- In the original text, what does "the backing" mean, and is it
- important that we keep it?]
+ The template above binds to a name
property through
+ the double-mustache syntax ({{ }}
).
+ The body of the constructor assigns "Alice" to the name property. When the
+ template renders, Alice appears instead of {{ name }}
.
+
+ // TODO: fix double mustaches above.
+
+ // [PENDING: Do we really want to use the term "component controller"?
+ // If so, set it up beforehand.
+ // In the original text, what does "the backing" mean, and is it
+ // important that we keep it?]
pre.prettyprint.linenums
code.
@@ -133,14 +145,6 @@ p.
String name = 'Alice';
}
- p.
- The template above binds to a name
property through the {{ }}
- syntax.The body of the constructor assigns "Alice" to the name property. When the
- template renders, Alice appears instead of {{ name }}
.
- [TODO: fix double mustaches]
-
-
-
// STEP 4 - Bootstrap ##########################
.l-main-section
h2#section-transpile 4. Bootstrap
@@ -150,15 +154,22 @@ p.
add a main()
function
that calls Angular's bootstrap()
function.
The argument to bootstrap()
is the name of the app class
- you defined above:
+ you defined above.
+
+ p.
+ For now, you also need to set the value of
+ reflector.reflectionCapabilities
.
pre.prettyprint.linenums
code.
main() {
+ // Temporarily needed.
+ reflector.reflectionCapabilities = new ReflectionCapabilities();
+
bootstrap(AppComponent);
}
- p.
- [PENDING: change/remove line numbers. They should start at 12.]
+
+ // [PENDING: change/remove line numbers. They should start at 12.]
// STEP 5 - Declare the HTML ##########################
.l-main-section
@@ -179,33 +190,36 @@ p.
</head>
<body>
<app></app>
+
<script type="application/dart" src="main.dart"></script>
<script src="packages/browser/dart.js"></script>
</body>
</html>
- p.
- [PENDING: When I select a bunch of code, it looks like I select the line #s too, making me fear that they'll get copied. But pasting doesn't include them. Fix!]
-// STEP 5 - Build and run ##########################
+ // [PENDING: When I select a bunch of code, it looks like I select the line #s too, making me fear that they'll get copied. But pasting doesn't include them. Can we fix that?]
+
+// STEP 6 - Build and run ##########################
.l-main-section
- h2#section-angular-run-app 5. Build and run your app
+ h2#section-angular-run-app 6. Build and run your app
p.
- You have many options.
- One is to run the pub serve
- command in the directory
- that contains your app's pubspec.yaml
file:
+ You have several options for running your app.
+ The quickest and easiest, for now,
+ is to open your project in Dart Editor,
+ right-click web/index.html
,
+ and choose Open in Dartium.
- pre.prettyprint.linenums
- code.
- > pub serve
- Serving helloworld on http://localhost:8080
+ // TODO: screenshot?
p.
- In the browser, go to the index fileāfor example,
- localhost:8080/web/index.html.
- [PENDING: This isn't working right now. Fix!]
+ Another option is to build and serve the app using pub serve
,
+ and then to run it by visiting http://localhost:8080/index.html in a browser.
+ The JavaScript generated using this option is large, for now;
+ it'll be much better soon, when a transformer becomes available
+ to convert the reflection code from dynamic to static code.
+
+ // [PENDING: Update when transformer is working!]
// WHAT'S NEXT... ##########################
.l-main-section
@@ -213,4 +227,5 @@ p.
p.
Learn some template syntax for extra credit.
- [PENDING: really?]
+
+ // [PENDING: really?]