我正在使用angular 1.5和UI路线。
由于结构限制,我们在单个状态下加载过滤视图和内容视图(主要用于数据集显示)。
我正在尝试为多个视图实现单一范围,这意味着: 我希望我的过滤器视图能够在内容视图中从加载的控制器触发函数。
我的州减速看起来像这样:
.state('somestate', {
url: '/somestate',
views : {
"content" : {
templateUrl: 'dataset.html',
controller: "someController"
},
"filters" : {
templateUrl: 'filters.html',
}
}
})
我希望能够触发filters.html中的函数,类似这样的
<div ng-click="doSomething()"></div>
考虑在someController中进行的doSomething()减速
答案 0 :(得分:1)
我不确定你的问题是什么...... 如果你想使用同一个控制器,那就去做吧......
这样:
.state('somestate', {
url: '/somestate',
views : {
"content" : {
templateUrl: 'dataset.html',
controller: "someController"
},
"filters" : {
templateUrl: 'filters.html',
controller: "someController"
}
}
})
或在模板文件中使用ng-controller
。
答案 1 :(得分:0)
使用“controller as”语法。
如果声明控制器处于以下状态:
controller: 'SomeController`,
controllerAs: 'some'
如果在html标签内:
ng-controller="SomeController as some"
然后在模板中,您可以访问控制器的范围some.someFunc()