【发布时间】:2017-05-08 11:14:21
【问题描述】:
我想知道为什么以下仅适用于脚本 1 和 3 而不适用于脚本 2。我想使用它,因为在我的项目中我不能使用 $scope。
谢谢!!
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js"></script>
<!DOCTYPE html> <!-- -->
<html ng-app="app">
<head>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js"></script>
<meta charset="utf-8">
<title>Modelo</title>
</head>
<body>
<div ng-controller="AppCtrl">
Nombre: {{ name}}
<script type="text/javascript">
var app=angular.module("app",[]);
function AppCtrl($scope) {
$scope.name= "Bob";
}
</script>
</div>
<br/>
<div ng-controller="MyCtrl">
Nombre: {{ name }}
<script type="text/javascript">
var app= angular.module("app",[]);
var MyCtrl = function() {
this.name = 'Nico';
}
app.controller('MyCtrl',MyCtrl);
</script>
</div>
<br/>
<div ng-controller="Algo as and">
Nombre: {{and.name}}
<script type="text/javascript">
//angular.controller('Algo',Algo);
function Algo() {
var vm = this;
vm.name = "Nicolas";
}
</script>
</div>
</body>
</html>
如果难以理解,请告诉我。
请原谅我的英语。
【问题讨论】:
-
它也适用,只需将控制器定义为“脚本 3”为“MyCtrl as ctrl”
-
"script 3" 之所以有效,是因为您在这里使用的是旧版 Angular 版本 1.2.19。
this的使用在 Angular 1.3 中进行了改进,因此在当前的 Angular 迭代中,#3 也不起作用。 -
谢谢!就是这么愚蠢的事情。
标签: javascript html angularjs scope angularjs-scope