私は興味深い状況があります。私はそれが正しく処理されない可能性があることを十分に認めています。データベースから新しいディレクティブ情報を追加するにはどうすればよいですか?
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-ルータとルータ-UIを使用して、この2つのディレクティブを生成し、私は自分のページ上の2つのリンクを持って、各モジュールに1つ( -extrasは、別のデータベーステーブル/ API呼び出しに基づいてそれらをロードします)。理論的にリンク1をクリックするとディレクティブ1が表示され、リンク2でディレクティブ2が表示されます。ただし、リンク1をクリックするとディレクティブ2が表示されます。この場合
dirInfo1: {
Name: directiveOne,
templateUrl: /html/directiveOne.html,
controller: controllerOne
}
dirInfo2: {
Name: directiveTwo,
templateUrl: /html/directiveTwo.html,
controller: controllerTwo
}
は、唯一directiveTwo.htmlが示され、そして唯一のcontrollerTwo火災:それは登録のみディレクティブはディレクティブであれば2 はここで私は、データベースから取得した情報ですほとんどのようです。
ご協力いただければ幸いです。
だから、基本的に私は約束して、ループの内部を包むことになった、それが今、私はそれが行く必要がまさにありません。どうもありがとうございました! – psywildfire