刚开始使用Angular并试图让它发挥作用。
我想在<p></p>
中显示该名称,但会显示{{name}}。
ASPX:
<html ng-app="myApp">
<head runat="server">
<script src="Assets/Vendor/angularjs-v1.2.28.js"></script>
<script src="App/app.js"></script>
<script src="App/controllers.js"></script>
</head>
<body ng-controller="myCtrl">
<p>{{ name }}</p>
</body>
</html>
app.js:
var app = angular.module('myApp','myCtrl');
controllers.js:
var controller = {};
controller.myCtrl = function ($scope) {
$scope.name = "abcd";
}
编辑:我更改了加载脚本文件的顺序并更新了此查询。 这是我在控制台中看到的错误 - 未捕获的错误:[$ injector:modulerr]
答案 0 :(得分:4)
您没有正确地输入脚本的顺序。而是将app.js
放在controller.js
之前。现在您收到错误:var app is not defined
。
[加法]
此外,您正在尝试注入不是对象的myCtrl
。因此,将var controller
更改为var myCtrl
可能会有效。
最好使用此处所述的内容:https://docs.angularjs.org/guide/controller
app.controller('myCtrl', ['$scope', function($scope) {
$scope.name = "abcd";
}]);
答案 1 :(得分:3)
这里几件事:
1 - myCtrl
不是依赖模块。因此,在定义myApp
模块时不需要它:
angular.module('myApp',[]);
2 - 脚本顺序,如@Highmastdon所述。
3 - 定义控制器时,可以使用myApp
模块:
angular.module('myApp').controller('myCtrl', function($scope) {
$scope.name = 'abcd';
});