在Angular JS中,模型值的更改不会反映在指令的模板中

时间:2017-12-05 11:38:40

标签: javascript angularjs angularjs-directive

我是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>

1 个答案:

答案 0 :(得分:1)

默认情况下,指令会继承其父控制器作用域。但似乎您将searchResult指令放在mainController之外,因此该指令将无法访问$scope.handle值。

将搜索结果放在主控制器中,以便能够从指令中访问它的范围。