我是AngularJS的新手。我正在使用模板搜索结果创建一个指令。并在main.html中使用该指令。它对应于mainController。 Index.html使用文本框绑定模型值句柄。更改文本框中的文本会更改$ scope.handle值,但为什么更改未在使用指令模板的main.html中反映
在
中的index.html中<div ng-controller="mainController">
<h1>Its the second Controller</h1>
<input type="text" ng-model ="handle" name= "myField"/>
</div>
在app.js
myApp.directive("searchResult", function(){
return {
restrict:"AECM",
templateUrl:'Directives/search-result.html',
replace:true
}
})
在main.html
<div class="container">
<search-result></search-result>
</div>
在search-result.html中
<a href="#" class="list-group-item">
<p class="list-group-item-text">{{handle}}</p>
</a>
答案 0 :(得分:1)
默认情况下,指令会继承其父控制器作用域。但似乎您将searchResult
指令放在mainController
之外,因此该指令将无法访问$scope.handle
值。
将搜索结果放在主控制器中,以便能够从指令中访问它的范围。