我想在使用angular dart设置成员之后进行一些映射:
@Component(
selector: 'travel-step',
templateUrl: 'packages/TravelPlanner/travelstep/travel_step_component.html',
useShadowDom: false,
publishAs: 'cmp')
class TravelStepComponent {
// Deprecated but impossible to replace, since the new syntax is not ready
@NgTwoWay('step')
TravelStep step;
TravelStepComponent() {
// step is null at the moment
}
}
我使用角度v 0.12。调用构造函数时,step仍为null。 我可以用表达式来表达,但我只想做一次,所以这个解决方法不是我想要的方式。
答案 0 :(得分:1)
您可以实施AttachAware
并将您的代码放入attach()
方法
通过实施ShadowRootAware
和onShadowRoot()
可以实现类似的行为。
您需要给Angular一些时间来评估绑定并分配值。根据您的要求使用这些方法之一。
有时可能有助于(另外)将代码包装到
中new Future(() {
your code here
});
延迟执行代码。
另一种方法是实现一个setter并在那里执行你的逻辑
@NgTwoWay('step')
TravelStep _step;
TravelStep get step => _step;
set step(TravelStep s) {
// your code here
_step = s;
// or here
}