ng-model在一个视图中绑定数据,但不绑定另一个视图

时间:2016-02-11 01:31:07

标签: javascript angularjs angularjs-ng-model

我使用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}},但不能在内容视图中打印出来。

那么如何在视图中捕获数据并使用它在另一个视图中进行过滤?

1 个答案:

答案 0 :(得分:0)

您不应该重复使用控制器,理想的情况是让控制器仅用于特定模板。

您可以做的是创建服务,并将数据放入其中,然后将它们注入您希望共享数据的两个控制器中