如何在组件范围之外引用AngularDart组件属性

时间:2015-03-03 12:30:38

标签: dart angular-dart

我的任务是使用AngularDart创建一个webapp。我是Dart的新手,因此也是AngularDart的新手,但是他已经完成了https://angulardart.org/tutorial/的教程。

我已经阅读了类似的SO问题/答案(How to access a AngularDart components attribute (NgOneWay) outside of the component, eg. on the page it is in?),但鉴于我的知识有限,我不完全了解如何实施Brian的建议 - 或者如果它确实与我的问题!我是否正确地认为Vink的建议现在无关紧要,因为@Controller现已被弃用?

简而言之,我试图弄清楚以下事实是否可以实现:

  • 创建一个包含属性的顶级<custom-component/>;
  • <ng-view/>内 - 因此嵌套组件 - 访问<custom-component/>的属性。更具体地说,绑定/监听这些属性的更改并采取相应的行动。

例如,给出以下

<body>
    <custom-component att1="val1" att2="val2"></custom-component>
    <ng-view></ng-view>
</body>

并假设<ng-view/>呈现以下标记

<div>
    ...
    <other-component att1="{{customComponent.att1}}" att2="{{customComponent.att2}}"></other-component>
    <another-component att1="{{customComponent.att1}}" att2="{{customComponent.att2}}"></another-component>
    ...
</div>

是否可以将customComponent.<<attributeName>>绑定到<other-component/><another-component/>

或者,我很可能误解了使用AngularDart @Component / @Decorator

@att1@att2属性是否应从<custom-component/>移至<ng-view/>

或者,我是否应该建立一个完全不同的解决方案?在此示例中,我的最终目标是为用户提供att1 / att2个选择框(来自另一个组件),这些框依次确定<other-component/>和{{1}中每个内容的呈现内容}}

欢迎任何和所有建议,如果你解雇任何/所有上述内容我不会被冒犯!!!

我目前的开发环境如下:

  • Dart SDK版本1.9.0-dev.8.0
  • angular 1.0.0

非常感谢,J

1 个答案:

答案 0 :(得分:0)

您可以做的是将两个组件移动到包装器组件的内容(模板)中,并将两个组件的属性绑定到包装器元素的字段。

通常更好的方法是使用How to communicate between Angular DART controllersAngular Dart component events中显示的事件(控制器从那时起已与组件合并)