我有 2 个组件 -addProjectForm
和listProjects
. 它们都是根模块内的嵌套组件。每当我使用表单添加项目时,我希望它立即出现在列表中。
为此,我必须将控制器实例传递给每个组件,如下所示:
var RootComponent = {};
rootComponent.controller = function() {
this.example = 'test variable';
}
rootComponent.view = function(ctrl) {
return [
m.component(addProjectForm, ctrl),
m.component(listProjects, ctrl)
];
}
然后listProjects
例如组件,如下所示:
var listProjects = {
controller: function(root) {
this.root = root;
},
view: function(ctrl) {
console.log(ctrl.root.example);
}
};
所以这种方式我一直在顶层调用方法,但我不太喜欢像这样传递控制器实例。我还有其他方法吗?