以下是我的例子:
<body ng-controller="ShoppingCart">
<div>
<h3>Your online shopping cart</h3>
<span>{{text.msg}}</span>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js"></script>
<script>
function ShoppingCart($scope){
alert();
$scope.text ={ msg: 'alert message'};
}
</script>
</body>
这不显示消息。缺少什么?
答案 0 :(得分:1)
简短回答,唯一缺少的是ng-app
指令:
<body ng-app ng-controller="ShoppingCart">
{{text.msg}}
</body>
ng-app
是一个指定Angular应用程序根目录的指令--Angular会编译其下的所有内容。
更长的答案是您的示例仅适用于较旧版本的AngularJS(v1.3之前),它允许将ShoppingCart
等全局函数用作控制器。
现在不鼓励这种情况(默认情况下在v1.3 +中禁用)。
正确的方法是定义显式注册控制器的应用程序模块。然后该模块与ng-app
指令一起使用:
angular.module("myApp", [])
.controller("ShoppingCart", function($scope){
$scope.text ={ msg: 'alert message'};
})
<body ng-app="myApp">
<div ng-controller="ShoppingCart">
{{text.msg}}
</div>
</body>