【发布时间】:2015-05-21 13:19:18
【问题描述】:
我目前正在我的routes.js 中定义我的全局模块,但由于某种原因,没有创建其他控制器,并且我不断收到错误消息,说我的主应用程序模块“LiveAPP”不可用。这是我的代码:
routes.js
angular.module('LiveAPP', ['ngRoute'])
.config(function($routeProvider, $httpProvider) {
$routeProvider
.when('/', {
templateUrl : '/home.html',
controller : 'mainCtrl'
})
.when('/signup',{
templateUrl : '/signup.html',
controller : 'signUpCtrl'
})
.when('/artist',{
templateUrl : '/artistpage.html',
controller : 'artistCtrl'
})
})
mainCtrl.js
angular.module('LiveAPP')
.controller('mainCtrl', ['$scope','$http', '$location',mainCtrl]);
function mainCtrl($scope,$http,$location){
$scope.somefunc = function(artistname){
dataFactory.ArtistfromSpotify()
.success(function(data, status, headers, config){
console.log(data)
})
}
};
signUpCtrl
angular.module('LiveAPP')
.controller('signUpCtrl', ['$scope','$http',signUpCtrl]);
function signUpCtrl($scope,$http){
$scope.user = {
email:'',
password:''
}
$scope.postreq = function(user){
$http({
method: "post",
url: "/signup",
data:{
user_username:user.email,
user_password:user.password
}
}).success(function(data){
console.log("User posted to the database")
});
};
}
艺术家Ctrl
angular.module('LiveAPP')
.controller('artistCtrl', ['$scope',function($scope){
$scope.myRating =
{number:3}
}])
.directive("rateYo", function() {
return {
restrict: "A",
scope: {
rating: "="
},
template: "<div id='rateYo'></div>",
link: function( scope, ele, attrs ) {
console.log(scope.rating.number)
$(ele).rateYo({
rating: scope.rating.number
});
}
};
});
我的印象是我可以使用angular.model('liveAPP').controller(...) 检索主 liveAPP 模块并在其他文件中添加控制器,但由于某种原因它不起作用。有人知道吗?
【问题讨论】:
-
您需要将您的 signUpCtrl 更改为
-
您是否在任何控制器文件之前加载
routes.js? -
这就是为什么我总是提倡每个文件一个模块。您可以按任何顺序加载文件,而不会遇到这些问题。
标签: angularjs