我有角镖的问题。 1个html文件触发范围和2个控制器类 的index.html
... {{subCtrl.user.name}} ...
第一个控制器
@Controller(
selector: '[mainController]',
publishAs: 'mainCtrl'
)
class MainController{
User user = new User('testuser');
MainController();
}
第二个控制器
@Controller(
selector: '[subController]',
publishAs: 'subCtrl'
)
class SubController{
@NgOneWay('user')
User user;
// constructor
SubController(){
getData();
}
void getData(){
if(user != null){
// following code is not exececutet, because user is null
httpRequst(...);
}
}
}
用户何时设置为@NgOneWay?在构造函数完成之前似乎没有。我在哪里打电话给我的方法?
现在我有问题我必须在SubController类的getData函数中创建一个asynch请求。这个http请求需要user.name属性来构建域,但是当我在构造函数中启动它时用户不活动。我无法将验证设置为第二个控制器。必须有另一种选择才能使其发挥作用。
我用飞镖的未来尝试了几件事,但没有让我为一个属性工作。
答案 0 :(得分:4)
以前是AttachAware
界面。
class SubController implements AttachAware {
attach() {
getData();
// or new Future(() => getData()); // if the line above still doesn't work - to give Angular one additional cycle to finish
}
}