我想在AngularDart 1.0創建組件:在DartAngular 1.0飛鏢非常簡單的事情1.7
的index.html:
<!DOCTYPE html>
<html ng-app>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>data_generator_front</title>
</head>
<body>
<my-form></my-form>
<label>Name: </label>
<input type="text" ng-model="myProperty" placeholder="Enter your name here">
<hr>
<h1 ng-cloak>Hello {{myProperty}}</h1>
<input type="submit" ng-click="method1()">
<script type="application/dart" src="index.dart"></script>
<script src="packages/browser/dart.js"></script>
</body>
</html>
index.dart:
import "package:angular/angular.dart";
import "package:angular/application_factory.dart";
import "my_form.dart";
@Injectable()
class RootContext{
String myProperty = "jeahhhhhhhh";
void method1(){
print("method1");
}
}
main(){
applicationFactory()
.rootContextType(RootContext)
.addModule(new DateFormModule())
.run();
}
my_form.html
<form>
<label>Years:</label>
<input type="text" placeholder="begin">
<input type="text" placeholder="end">
<input type="checkbox">
<input type="submit">
</form>
my_form.dart
import "package:angular/angular.dart";
@Component(
selector: "my-form",
templateUrl: "my_form.html")
class DateFormComponent {}
class DateFormModule extends Module {
DateFormModule(){
bind(DateFormComponent);
}
}
請糾正我在說什麼。
我有一個類「RootContext」,它包含屬性「myProperty」和方法「method1」。這個類由@Injectable()註釋,這使得類可以由angulardart處理。像{{}},ng-model,ng-click ....中的所有屬性/方法都可用。last,rootContextType(RootContext)使RootContext成爲應用程序的rootcontext。那是對的嗎 ?
現在我想創建一個組件。 (my_form.dart和my_form.html)我成功顯示了我的組件的html,這非常棒。
我會預先用的值等填充輸入(具有佔位符= 「開頭」) 「1980年」 這裏是我的嘗試:
my_form.dart:
import "package:angular/angular.dart";
@Component(
selector: "my-form",
templateUrl: "my_form.html")
class DateFormComponent {
String years_begin = "1980";
}
class DateFormModule extends Module {
DateFormModule(){
bind(DateFormComponent);
}
}
my_form html的
<form>
<label>Years:</label>
<input type="text" placeholder="begin" ng-model="years_begin">
<input type="text" placeholder="end">
<input type="checkbox">
<input type="submit">
</form>
那一聲有: ... 失蹤的getter:(0)= o.years_begin> 10 ...
好的,讓我們創建一個getter然後:String get years_begin => _years_begin; 但仍然有相同的錯誤... 所以@Component()不像@Injectable()它並沒有打開視圖處理的所有字段/方法。所以如何打開它們?它看起來像@NgAttr(attrName), @NgOneWay(attrName),@NgTwoWay(attrName)做工作
讓我們試試這個
class DateFormComponent {
@NgAttr("years_begin")
String years_begin = "1980";
}
- >沒有更多的例外,但現場未填寫
class DateFormComponent {
@NgOneWay("years_begin")
String years_begin = "1980";
}
- >做這份工作!
class DateFormComponent {
@NgTwoWay("years_begin")
String years_begin = "1980";
}
- >以及
被NgOneWay同步模型,以查看? 是NgTwoWay同步模型來查看和查看模型? ngAttr看起來更像是在HTML中傳遞的屬性,就像init時間一樣?
讓我們切換到方法現在這裏是我的變化
my_form.html
<form>
<label>Years:</label>
<input type="text" placeholder="begin" ng-model="years_begin">
<input type="text" placeholder="end">
<input type="checkbox">
<input type="submit" ng-click="method2()">
</form>
my_form.dart
import "package:angular/angular.dart";
@Component(
selector: "my-form",
templateUrl: "my_form.html")
class DateFormComponent {
@NgTwoWay("years_begin")
String years_begin = "1980";
method2(){
print("method2");
}
}
class DateFormModule extends Module {
DateFormModule(){
bind(DateFormComponent);
}
}
它與崩潰:沒有消氣的 '方法2'。 對於方法,NgOneWay ngTwoway等價於什麼?
不要猶豫,給我最多約angulardart &鏢DATE鏈接和信息,不會有大量的文檔資料是最新的甚至angulardart網站...
Angular.dart 1.0剛剛發佈,教程和文檔尚未更新。這裏是angular.dart.tutorial的一個pull請求,包含Angular.dart 1.0的更新https://github.com/angular/angular.dart.tutorial/pull/131 – 2014-10-17 14:55:38
太棒了!非常感謝 ! – BenNG 2014-10-17 15:12:47