AngularJs - 使用外部 controller.js
AngularJs - Use External controller.js
刚开始使用 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]
您没有正确放置脚本的顺序。而是将 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 - myCtrl
不是依赖模块。因此,在定义 myApp
模块时不需要它:
angular.module('myApp',[]);
2 - 脚本顺序,如@Highmastdon 所述。
3 - 定义控制器时,可以使用myApp
模块:
angular.module('myApp').controller('myCtrl', function($scope) {
$scope.name = 'abcd';
});
刚开始使用 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]
您没有正确放置脚本的顺序。而是将 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 - myCtrl
不是依赖模块。因此,在定义 myApp
模块时不需要它:
angular.module('myApp',[]);
2 - 脚本顺序,如@Highmastdon 所述。
3 - 定义控制器时,可以使用myApp
模块:
angular.module('myApp').controller('myCtrl', function($scope) {
$scope.name = 'abcd';
});