San*_*ggy 0 controller angularjs
我不明白为什么我在 Angular 1.6.4 中出现“控制器未注册”错误。
控制器:
var app = angular.module('app', ['ngRoute']);
app.controller("formCtrl", function($scope, $rootScope, $stateParams) {
$scope.id = $stateParams.id;
});
Run Code Online (Sandbox Code Playgroud)
指数:
<html>
<head>
<script src="js/angular.js"></script>
<script src="js/angular-route.js"></script>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script src="js/formCtrl.js" type="text/javascript"></script>
<script src="js/app.js" type="text/javascript"></script>
</head>
<body ng-app="app">
<div ng-view>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
应用程序:
app = angular.module('app', ['ngRoute']);
app.config(function($routeProvider) {
$routeProvider
.when("/:id", {
templateUrl: './partials/main.html',
controller: 'formCtrl'
});
})
Run Code Online (Sandbox Code Playgroud)
这是因为您实际上是在为控制器创建一个新模块,而不是重用现有的应用程序模块。
要解决此问题,您只需将控制器代码更改为:
angular.module('app').controller("formCtrl", function($scope, $rootScope, $stateParams) {
$scope.id = $stateParams.id;
});
Run Code Online (Sandbox Code Playgroud)
angular.module()当您打算创建新模块时,您只需要指定第二个参数。如果您想为您的应用程序注册控制器、组件、服务等,您只需应用第一个参数:angular.module('app')。
请注意,请确保您的控制器 js 文件在应用程序 js 文件之后加载。
| 归档时间: |
|
| 查看次数: |
6756 次 |
| 最近记录: |