【问题标题】:ng-model binds data in one view but not the otherng-model 在一个视图中绑定数据,但在另一个视图中不绑定
【发布时间】:2016-02-11 01:31:07
【问题描述】:

我正在使用 ui-router 构建多个视图,我有一个典型的页眉、内容、页脚布局。

我以前在内容模板中有一个搜索框,它只是使用 ng-model 来捕获用户输入:

            <label class="col-xs-12 col-sm-6">
                Search: <input ng-model="searchPattern">
            </label>

然后我使用角度过滤器在同一内容视图中搜索我的数据。

但是,如果我将这些行移动到“标题”视图,它不再起作用,似乎 ng-model 绑定的数据不会通过视图传递?我为两个视图指定了相同的控制器,即:

.state('app', {
            url: '/',
            views: {
                'header': {
                    templateUrl: 'header.html',
                    controller: 'MyController'
                },
                'content': {
                    templateUrl: 'content.html',
                    controller: 'MyController'
                },
                'footer': {
                    templateUrl: 'footer.html',
                }
            }
        })

我可以在标题视图本身中打印出 {{searchPattern}},但不能在内容视图中打印。

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

【问题讨论】:

    标签: javascript angularjs angularjs-ng-model


    【解决方案1】:

    您不应该重复使用控制器,最好让控制器仅与特定模板一起使用。

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

    【讨论】:

      猜你喜欢
      • 2011-10-19
      • 2021-08-26
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-14
      • 1970-01-01
      相关资源
      最近更新 更多