【发布时间】:2013-12-09 15:59:22
【问题描述】:
在 angular-dart 中可以创建自己的组件,如 here 所示。如果您像这样在 html 中使用自定义标签:
<rating></rating>
angular 将通过调用与评级相关的类的构造函数来创建一个组件,在本例中为 new RatingComponent() (如果我没记错的话)。
我知道您可以添加属性以对其进行一些控制,但我想知道是否可以提供您自己的实例,而不是 Angular 调用构造函数。如果我在主控制器中有一个按钮列表怎么办,如何实现这样的:
<div ng-repeat='b in ctrl.buttonList'>
<fancy-button instance='b'></fancy-button>
</div>
我感觉我遗漏了一些明显的东西,但我确实四处寻找并找不到答案。
edit(用于额外说明):我认为这归结为是否可以通过角度影响/绕过构造函数的调用。如果它只是关于生成 html,它很容易不使用该组件而只使用主控制器(如下所示)生成 html,但如果可能的话,我想使用一个组件,因为它也有用于沙箱的 shadow-dom CSS。
<div ng-repeat='b in ctrl.buttonList'>
<input type='button' class='fancy' value='{{b.label}}'></input>
</div>
【问题讨论】:
-
负责花式按钮的类可以检查
instance属性并对其值执行switch并执行不同的操作。作为另一种可能性,您(也许)可以声明一个在实例属性的特定值上触发的组件。@NgComponent('selector':'fancy-button[instance=unicorn]', …) class MyUnicornButton { … }(链接到 (java;(doc goo.gl/j0tYCg) 并让角度处理器通过反射对其进行排序。如果这是您的想法并且您有兴趣,我可以尝试一下并发布示例如果它的某些工作。
标签: dart angular-dart