我正试图以这种方式动态加载控制器:
.state('main', {
url:'/app',
data: {requireLogin:true },
views:{
'':
angularAMD.route({
templateUrl:function (){ var token=$cookies.get('token'); return '/getTemplate/'+token+'/main'; },
controller:''
}),
'main.content@main':
angularAMD.route({
templateUrl:function (){ var token=$cookies.get('token'); return '/getTemplate/'+token+'/main.content'; },
// controller:'main.content',
resolve: { load: ['$q', '$rootScope', '$cookies',function ($q, $rootScope, $cookies) { var controller_name='main.content.js'; return loadControllerWithToken($q,$rootScope,$cookies,controller_name);}]}
}),
控制器已加载(我在chrome上从网络面板核对)但未“执行”,因此其中的console.log未被调用。
这是控制器:
define(['app','services/JSONService.js'], function (app) {
console.log("here");
app.register.controller('main.toolbar', function ($scope, $rootScope,$state,$mdSidenav,$location,JSONService,$cookies) {
console.log("main.toolbar");
$scope.toggleSidenav = function(menuId) {
$mdSidenav(menuId).toggle();
};
$scope.openLink=function(url){
$scope.toggleSidenav('left');
if (url.substring(0, 7) == "http://")
{
$window.location.href = url;
}
else
{
$location.path(url);
}
};
var token=$cookies.get('token');
console.log("get partial");
$scope.partial_url="/getPartial/"+token+"/menu-bar";
});
});
我缺少什么?
谢谢, 的Riccardo