Angular Parent&子范围在$ root范围内不起作用?

时间:2013-12-11 19:55:38

标签: angularjs angularjs-scope

我找到了两个关于父母和母亲的例子。子范围继承。但是,第一个是使用父控制器,而第二个例子是使用根范围。但第二个例子没有按预期工作。有什么区别?

http://jsfiddle.net/angelohuang/kbUSb/ html 1

<div ng-controller="ParentCtrl">
  <div>Hello, {{data.message}}</div><br>
  <input type="text" ng-model="data.message">
  <div ng-controller="ChildCtrl"><br><br>
      <div>Hello 2, {{data.message}}</div><br>
  </div>
</div>

脚本1

function ParentCtrl($scope) {
    $scope.data = {message: ''};
}

function ChildCtrl($scope) {
}

http://plnkr.co/edit/DBvSmO1fkmiOkH3sShSG

html 2

<input type="text" ng-model="data.message">
<div>Hello, {{data.message}}</div><br>

<div ng-controller="firstCtrl">
    <input type="text" ng-model="data.message">
    <div>Hello 2, {{data.message}}</div>
</div>

脚本2

var app = angular.module('application', []);

app.controller('firstCtrl', ['$scope', function($scope) {

}]);

1 个答案:

答案 0 :(得分:1)

在您的第二个示例中,未使用模块“应用程序”触发此错误:Argument 'firstCtrl' is not a function, got undefined

这是因为您在此处为模块命名('application'):

var app = angular.module('application', []);

但没有它就开始Angular:

<html ng-app>

将该行切换为:

<html ng-app="application">

它会像你期望的那样运行。

updated plunker