мой взгляд прост:AngularJS Директива не делает шаблон
<job-template ng-if="job"></job-template>
Моя директива:
.directive('jobTemplate', function(){
return {
restrict: 'AE',
replace: true,
link: function(scope,element, attrs) {
var JobStatus = scope.job.JobStatus;
var text = "<p>";
if(JobStatus === 'Created'){
text += "{{job.id}} was created."
}
else if(JobStatus === 'Processing'){
text += "{{job.id}} is currently processing."
}
text += "</p>";
console.log("text");
console.log(text);
return text;
}
};
})
Когда я запускаю мою страницу, мой <job-template>
элемент не заменяется ничем - хотя правильный text
загружен на консоль.
Что я здесь сделал неправильно?
путь вы реализованы на correct..but вы должны оставили условное добавление или удаление части DOM должна используя 'ng-if', так что это не вызовет проблемы, если значение' job' будет загружено ajax. –
Мы можем сделать это тоже в директиве. Раньше я делал с wordpress SPA. Это слишком длинная директива, поэтому нельзя упомянуть обо всех вещах, но мне удалось использовать ** scope. $ Watch ('$ viewContentLoaded', function() {}) ** внутри директивы. –
$ watch на '$ viewContentLoaded' загружен тоже не будет работать. Вам нужно специально разместить часы над' job', но было бы плохой практикой иметь '$ watch' в коде. Старайтесь избегать наблюдателей, поэтому этот код будет более чистым .. –