我在根目录下名为controller的文件夹中有一个控制器。 我认为我想在路线改变时附加到相应的视图。我正在使用angular-ui-router。
控制器/ one.js
angular.module('sub',["ui.router"]).config(function($stateProvider){
$stateProvider
.state('index', {
url: "/login",
views: {
"viewA": {
templateUrl: "login.html"
}
}
})
.state('register', {
url: "/register",
views: {
"viewA": {
templateUrl: "register.html"
}
}
})
.state('upload', {
url: "/upload",
views: {
"viewA": {
templateUrl: "upload.html"
}
}
})
})
的test.html
<!DOCTYPE html>
<html ng-app="sub">
<head>
<title>AngularJS: UI-Router Quick Start</title>
<!-- Bootstrap CSS -->
<link href="bootstrap.min.css" rel="stylesheet">
</head>
<body class="container">
<div class="navbar">
<div class="navbar-inner">
<a class="brand" ui-sref="index">Quick Start</a>
<ul class="nav">
<li><a ui-sref="index">Home</a></li>
<li><a ui-sref="register">Register</a></li>
<li><a ui-sref="upload">upload</a></li>
</ul>
</div>
</div>
<div class="row">
<div class="span6">
<div class="well" ui-view="viewA"></div>
</div>
</div>
<script type="text/javascript" src="angular.min.js"></script>
<script type="text/javascript" src="Controllers/one.js"></script>
<script type="text/javascript" src="angular-cookies.js"></script>
<script type="text/javascript" src="Controllers/loginController.js"></script>
<script type="text/javascript" src="Controllers/uploadController.js"></script>
<script type="text/javascript" src="Controllers/registerController.js"></script>
<script type="text/javascript" src="angular-ui-router.js"></script>
<script type="text/javascript" src="jquery-2.1.3.min.js"></script>
</body>
</html>
的login.html
<div ng-controller="loginController">
<p>
UserName:
<input id="director" type="text" ng-model="mUserName"/>
</p>
<p>
Password:
<input id="actor" type="text" ng-model="mPassWord"/>
</p>
<button ng-click="login()">Login</button>
</div>
控制器/ LoginController.js
angular.module('subsd',["ngCookies"]).controller('loginController', ['$http','$scope','$cookies',function($http,$scope,$cookies) {})]);
如果我提及&#39; sub&#39;而不是&#39; subsd&#39;在loginController.js中,路由停止工作。
答案 0 :(得分:2)
最后的答案包括几件事:
<div ng-controller="loginController">
。'ngCookies'
依赖项移至 controllers / one.js 文件(sub
)中的angular.module('sub',["ui.router", "ngCookies"])
模块定义。subsd
更改为sub
,并从sub
模块调用中删除第二个参数,使它看起来像这样:angular.module('sub').controller(...)
。之前更改模块名称时,您尝试重新定义,这是一个错误。
此
angular.module('moduleName', [...dependencies])
是模块 setter ,而这个
angular.module('moduleName')
是 getter 模块。
答案 1 :(得分:0)
你的意思是:
$stateProvider
.state('index', {
url: "/login",
views: {
"viewA": {
templateUrl: "login.html",
// THIS ?
controller: "LoginController"
}
}
})
})
请记得从视图中删除ng-controller
属性。