我得到一个非常奇怪的问题,我的$ state控制器的ui-view模板正在与$ rootScope交互,而不是$ scope。
但是它会在初始时隐藏$ scope变量。
例如: 如果我有$ scope.name =" test"
并在我的模板中
<input ng-model="name">
输入将成功进行&#34;测试&#34;插入正常。
然而,当我有一个$ scope。$ watch(&#34; name&#34;)它不会触发,而只是$ rootScope观看&#34; name&#34;会开火......我是否错误地连接了我的路线?
我有一个主要的应用程序&#34;得到它的主要依赖(我的组件):
angular.module('p1poc', ['ngAnimate', 'ngMaterial', 'ngWebSocket' ... 'myModule');
有问题的模块是&#34; myModule&#34;:
angular.module('myModule', ['ui.router', 'infinite-scroll', 'pasvaz.bindonce'])
.config(['$stateProvider', function ($stateProvider) {
$stateProvider.state('search', {
url: '/search?query',
controller: 'MainCtrl',
templateUrl: 'main/main.html',
label: 'Search',
access: {free: true}
});
}])
如您所见,我正在注入控制器以及模板
我的模板,例如像这样的html元素:
<md-select placeholder="Sort By" ng-model="orderBy">
<md-option value="_score" checked>Relevance</md-option>
<md-option value="citingsrcscount">Cited Count</md-option>
<md-option value="sortdate">Publication Date</md-option>
</md-select>
但如上所述,ng-model更新$ rootScope.orderBy而不是$ scope.orderBy。
但是在初始时,它成功地从$ scope.orderBy获取数据...只是没有绑定2种方式
答案 0 :(得分:0)
在您要在HTML
中使用它之前,尝试为$ scope.name指定一个空值