我使用ui-router构建多个视图,我有一个典型的标题,内容,页脚布局。
我以前在内容模板中有一个搜索框,它只是使用ng-model来捕获用户输入:
<label class="col-xs-12 col-sm-6">
Search: <input ng-model="searchPattern">
</label>
然后我使用角度过滤器在同一内容视图中搜索我的数据。
但是,如果我将这些行移到&#34;标题&#34;看来,它不再有效,似乎ng-model绑定的数据不会通过视图传播?我为两个视图指定了相同的控制器,即:
.state('app', {
url: '/',
views: {
'header': {
templateUrl: 'header.html',
controller: 'MyController'
},
'content': {
templateUrl: 'content.html',
controller: 'MyController'
},
'footer': {
templateUrl: 'footer.html',
}
}
})
我可以在标题视图中打印{{searchPattern}},但不能在内容视图中打印出来。
那么如何在视图中捕获数据并使用它在另一个视图中进行过滤?
答案 0 :(得分:0)
您不应该重复使用控制器,理想的情况是让控制器仅用于特定模板。
您可以做的是创建服务,并将数据放入其中,然后将它们注入您希望共享数据的两个控制器中