我有一個有趣的情況,我完全承認我可能沒有正確處理。如何從數據庫添加新的指令信息?
我想使用AngularAMD將指令加載到Angular應用程序中,但指令信息來自數據庫/ API調用。下面是我怎樣,我交給它的那一刻:
app.run(function ($rootScope, $state, $http) {
$rootScope.$state = $state;
$rootScope.rootPages = JSON.parse(localStorage.pages);
$http.get('api/Directives').then(function (resp) {
for (var i = 0; i < resp.data.length; i++) {
var dirInfo = resp.data[i];
var dirConfig = JSON.parse(dirInfo.Configuration);
angularAMD.directive(dirInfo.Name, function() {
return {
restrict: 'E',
controller: eval(dirConfig.controller),
templateUrl: dirConfig.templateUrl,
scope: true,
}
});
}
}, function (error) {
alert('error');
});
});
這產生兩個指令的那一刻,我有我的網頁,一個在兩個環節爲每個模塊(採用了棱角分明的UI路由器和路由器的用戶界面-extras加載基於另一個數據庫表/ API調用的那些)。理論上點擊鏈接1應該出現指令1,鏈接2應該出現指令2.但是,當我點擊鏈接1時,指令2出現。這幾乎就像如果註冊的唯一指令是指導2. 這是我從數據庫中獲取的信息:
dirInfo1: {
Name: directiveOne,
templateUrl: /html/directiveOne.html,
controller: controllerOne
}
dirInfo2: {
Name: directiveTwo,
templateUrl: /html/directiveTwo.html,
controller: controllerTwo
}
在這種情況下,只有directiveTwo.html顯示,只有controllerTwo火災。
任何幫助將不勝感激。
所以基本上我最終包裝的諾言環的內側,它現在不正是我需要它去。非常感謝你! – psywildfire