当我将ng-controller属性用于无模板代码时,我的控制器工作,并且路由我的模板加载,而不是控制器。我似乎无法找到我错过的东西。
错误讯息:
Error: [ng:areq] Argument 'OpListCtrl' is not a function, got undefined
这是我的应用和路线js。 OpLists var是一个服务器提交的var,所以它在页面加载时会填充。
(function () {
'use strict';
var appid = 'app';
var app = angular.module(appid, [
'ngAnimate', // animations
'ngRoute', // routing
]);
app.config(['$routeProvider', buildRoute]);
function buildRoute($routeProvider) {
$routeProvider
.when('/op',{
templateUrl: OpLists, //'app/op/Lists.html',
controller: 'OpListCtrl',
})
.otherwise({
redirectTo: '/op'
})
}
//Make sure the template (OpList) is correct.
console.log("SetRoute: " + OpLists);
})();
这是我的控制器
(function () {
'use strict';
var controllerId = 'opListCtrl';
// TODO: replace app with your module name
angular.module('app').controller(controllerId, ['$scope', '$http', CreateOpListCtrl]);
function CreateOpListCtrl($scope, $http) {
$scope.title = controllerId;
$http.get(ApiOpList, { method: 'GET', responseType: 'json' })
.success(function (data) { $scope.OpLists = data; });
}
})();
这个目录是
根
--app
----运算
如果不是因为我的控制器在没有路由的情况下工作,我会专注于控制器。由于路由正在加载我的模板,我很困惑它是如何路由的。所以我公然错过了一些我看不到的东西..
答案 0 :(得分:0)
KayakDave发现了我的错字。我在那里花了几个小时。