我是棱角分明的新手,我尝试了一些测试模式,并且使用$ 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进行调试,但范围控制台是空的。
显然这是一个愚蠢的错误,但我没有看到我错在哪里
答案 0 :(得分:1)
好的,答案与我的代码无关,我只是使用了太旧版本的Angularjs(1.0.8)。 我移动到最后一个版本1.3.4,它工作正常。
答案 1 :(得分:0)
请使用$scope.text
访问变量,而不是this.text
。