Angularjs控制器嵌套

时间:2014-11-27 16:26:03

标签: angularjs controller nested

我是棱角分明的新手,我尝试了一些测试模式,并且使用$ scope变量就可以了,但我不能让它适用于简单的控制器嵌套。 (并避免使用$ scope变量,而是我想使用“this”)

以下是我的示例HTML和javascript:

<!doctype html>
<html ng-app="appTest">
  <head>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js"></script>
  </head>
  <body>
    <div ng-controller="FirstController as first">
      <div>
        First is {{first.text}}
      </div>
      <div ng-controller="SecondController as second">
        Second is {{second.text}}
      </div>
    </div>
    <script>
    var app = angular.module("appTest",[]);


    function printFirst() {
      this.text = "first"
    }

    function printSecond() {
      this.text = "second";
    }

    app.controller("FirstController",[printFirst]);
    app.controller("SecondController",[printSecond]);
    </script>
  </body>
</html>

在输出html中,大括号内的角度变量没有被替换,我不知道发生了什么。我试图安装Angular Batarang进行调试,但范围控制台是空的。

显然这是一个愚蠢的错误,但我没有看到我错在哪里

2 个答案:

答案 0 :(得分:1)

好的,答案与我的代码无关,我只是使用了太旧版本的Angularjs(1.0.8)。 我移动到最后一个版本1.3.4,它工作正常。

答案 1 :(得分:0)

请使用$scope.text访问变量,而不是this.text