0
我正在处理需要某些信息才能工作的指令。但是,这些信息来自诺言,并且指令加载时没有这些信息,因为指令本身需要更多时间。Angular在执行指令链接前获取承诺数据
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,
。