使用ng-bind(不工作)vs {{}}(工作)的范围继承

时间:2016-05-31 06:08:30

标签: angularjs

我正在学习AngularJS,只是完成了范围继承。以下是我写的示例代码。我正在引用角度版本1.5.0

HTML

<div ng-controller="ScopeInheritanceParentController" class="scope_inheritance_parent">
    <span>Parent</span><br /><br />
    <!--<span ng-bind="title" /><br /><br />-->
    <span>{{title}}</span><br /><br />
    <input type="text" ng-model="title" /><br /><br />
    <div ng-controller="ScopeInheritanceChildController" class="scope_inheritance_child">
        <span>Child</span><br /><br />
        <!--<span ng-bind="title" /><br /><br />-->
        <span>{{title}}</span><br /><br />
        <input type="text" ng-model="title" />
    </div>
</div>

JS

angular.module('myapp.controllers')
    .controller('ScopeInheritanceParentController', ['$scope', function ($scope) {
        $scope.title = "Initial title set by Parent controller ctor function"
    }])
    .controller('ScopeInheritanceChildController', ['$scope', function ($scope) {
        $scope.title = 'Initial title set by Child controller ctor function'
    }])

到目前为止一直很好,我得到的输出为: enter image description here

问题

当我评论{{title}}语法并取消注释ng-bind="title" span时,我将输出视为: enter image description here

  1. 儿童控制器现在在哪里?
  2. 为什么不显示来自父控制器的文本框?
  3. 我知道{{}}语法在内部创建了一个观察者,因此angular能够在表达式更改时更新视图。我还读到ng-bind{{}}相同,所以我认为它的工作方式相同。

1 个答案:

答案 0 :(得分:1)

span标签有这样的语法

<span ng-bind='title'></span>