0
私は、動作するにはいくつかの情報が必要なディレクティブに取り組んでいます。しかし、その情報は約束から来ており、指令自体はその情報なしで読み込まれるため、指令自体に時間がかかるためです。ディレクティブリンクを実行する前にpromularデータを取得する
angular.module('app').directive('tagInput', tagInput);
var tagInput = function ($timeout, profileService) {
var profileList = profileService.getProfileList();
profileList.then(function (profiles) {
var profileObject = {};
var profilesFiltered = [];
for(var index in profiles){
if(profiles[index].hasOwnProperty('id')){
var notStandard = profiles[index].id.match(/\d+/g);
if (notStandard != null) {
profileObject.icon = '<i class="fa fa-bookmark" aria-hidden="true"></i>';
}
else{
profileObject.icon = '<i class="fa fa-user" aria-hidden="true"></i>';
}
profileObject.name = profiles[index].name;
profileObject.identifier = profiles[index].id;
profileObject.ticked = false;
profilesFiltered.push(profileObject);
}
}
return profilesFiltered;
});
return {
restrict: 'EA',
require: 'ngModel',
scope: {
tags: '=ngModel',
searchParams: '=searchParams'
},
replace: false,
link: function (scope, element, attrs) {
scope.modelFilter = {
showSearchPanel: false,
inputProfiles: profilesFiltered,
...
このようにして、テンプレートのデータは常に空になります。指示リンクの実行前にデータを準備する方法多分私はinputAccounts: accountsFiltered,
と同様の約束を必要とするでしょう。