连接2个控制器并可以访问第二个控制器中的第一个控制器属性

问题描述:

我有角度飞镖的问题。 1个HTML文件来触发范围和2控制器类 的index.html连接2个控制器并可以访问第二个控制器中的第一个控制器属性

... {{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函数中做出异步请求。这个http请求需要user.name属性来构建域,但是当我在构造函数中启动它时,用户不是活动的。我不能将验证设置给第二个控制器。必须有另一种选择来实现这一目标。

我用飞镖的未来尝试了几件事,但没有让我为属性工作。

这个曾经是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 
    } 
}