在DartAngular 1.0&;飞镖1.7
我正在尝试在AngularDart 1.0中创建一个组件: index.html:在DartAngular 1.0&;飞镖1.7,dart,angular-dart,Dart,Angular Dart,我正在尝试在AngularDart 1.0中创建一个组件: index.html: 数据发生器前端 姓名: 你好{{myProperty}} index.dart: 导入“包:角度/角度.dart”; 导入“包:角度/应用程序\u工厂.dart”; 导入“my_form.dart”; @可注射() 类根上下文{ 字符串myProperty=“jeahhhhh”; void method1(){ 打印(“方法1”); } } main(){ 应用程序工厂() .rootContextType
数据发生器前端
姓名:
你好{{myProperty}}
index.dart:
导入“包:角度/角度.dart”;
导入“包:角度/应用程序\u工厂.dart”;
导入“my_form.dart”;
@可注射()
类根上下文{
字符串myProperty=“jeahhhhh”;
void method1(){
打印(“方法1”);
}
}
main(){
应用程序工厂()
.rootContextType(RootContext)
.addModule(新的DateFormModule())
.run();
}
my_form.html
年:
我的飞镖
导入“包:角度/角度.dart”;
@组成部分(
选择器:“我的表格”,
templateUrl:“my_form.html”)
类DateFormComponent{}
类DateFormModule扩展模块{
DateFormModule(){
绑定(DateFormComponent);
}
}
请纠正我说的话
我有一个类“RootContext”,它包含属性“myProperty”和方法“method1”。该类由@Injectable()注释,它使该类能够由angulardart处理。所有属性/方法都可以在{{}中的html、ng模型、ng单击中使用。。。。最后,rootContextType(RootContext)使RootContext成为应用程序的RootContext。对吗
现在我想创建一个组件。(my_form.dart和my_form.html)我成功地显示了我的组件的html,这非常棒 我想用“1980”这样的值预先填充输入(带有占位符=“begin”的输入) 以下是我的尝试: 我的省道:
导入“包:角度/角度.dart”;
@组成部分(
选择器:“我的表格”,
templateUrl:“my_form.html”)
类DateFormComponent{
字符串年份_begin=“1980”;
}
类DateFormModule扩展模块{
DateFormModule(){
绑定(DateFormComponent);
}
}
my_form.html
年:
那次事故是:
...
缺少的getter:(o)=>o.years\u begin
好的,让我们创建一个getter:String get years\u begin=>\u years\u begin;
但还是有同样的错误。。。
因此@Component()不像@Injectable(),它不会打开视图要处理的所有字段/方法。那么如何打开它们呢?看起来像是@NgAttr(attrName),
@NgOneWay(attrName),@NgTwoWay(attrName)执行此任务
让我们试试这个
类DateFormComponent{
@NgAttr(“开始的年份”)
字符串年份_begin=“1980”;
}
-->没有其他异常,但该字段未填充
类DateFormComponent{
@NgOneWay(“开始的年份”)
字符串年份_begin=“1980”;
}
-->完成任务
类DateFormComponent{
@NgTwoWay(“年开始”)
字符串年份_begin=“1980”;
}
-->也
是否要查看NgOneWay同步模型?
NgTwoWay是否同步模型到视图和视图到模型?
ngAttr似乎更像是在HTML中传递的属性,就像在init时间一样
现在让我们切换到方法,这是我的找零
my_form.html
年:
我的飞镖
导入“包:角度/角度.dart”;
@组成部分(
选择器:“我的表格”,
templateUrl:“my_form.html”)
类DateFormComponent{
@NgTwoWay(“年开始”)
字符串年份_begin=“1980”;
方法2(){
打印(“方法2”);
}
}
类DateFormModule扩展模块{
DateFormModule(){
绑定(DateFormComponent);
}
}
它崩溃了:method2没有getter。
对于方法,NgOneWay ngTwoway的等价物是什么
不要犹豫给我关于angulardart&dart的最新链接和信息,因为即使是angulardart网站也没有很多最新的文档
我有一个类“RootContext”,它包含属性“myProperty”和方法“method1”。该类由@Injectable()注释,它使该类能够由angulardart处理。所有属性/方法都可以在{{}中的html、ng模型、ng单击中使用。。。。最后,rootContextType(RootContext)使RootContext成为应用程序的RootContext。对吗
@Injectable()
您还需要添加一个transformers配置来实现这一点
有关示例,请参见。
(Angular.dart transformers也需要用于开发,而不仅仅是用于生产)多亏了我找到了一个关于“method2”问题的答案
转换器遇到了问题,因此我们需要传递额外的信息:在我的组件中,我将exportExpressions属性设置为:
我的飞镖
导入“包:角度/角度.dart”;
@组成部分(
选择器:“我的表格”,
templateUrl:“my_form.html”,
exportExpressions:const[“method2”])
类DateFormComponent{
@NgTwoWay(“年开始”)
字符串年份_begin=“1980”;
方法2(){
打印(“方法2”);
}
}
类DateFormModule扩展模块{
DateFormModule(){
绑定(DateFormComponent);
}
}
我认为这与摇树有关,因此“方法2”Angular.dart 1.0刚刚发布,教程和文档还需要更新。这是angular.dart.tutorial的拉取请求,其中包含angular.dart 1.0的更新,太棒了!非常感谢!