Закрытие с помощью простой директивы
У меня есть простое закрытие с парой свойств hello и items. Когда я привязываю привет, мир работает нормально, но список не отображается, когда я использую ng-repeat.
(function() {
var app = angular.module('safety-plus-task-list', []);
app.directive('taskList', function () {
return {
restrict: "E",
templateUrl: "/Task/TaskList",
scope: {
},
controller: function ($http, $scope, $element, $attrs) {
this.hello = "HELLO WORLD";
this.items = [
"gravida nisl, id fringilla neque ante vel mi.",
"quam gravida nisl, id fringilla neque ante vel mi."];
},
controllerAs: "task"
};
});
})();
Директива Code Inside
Вот код, который используется для отображения пользовательской директивы. Переменная hello отображается правильно, но элементы вообще не отображаются. Если в списке есть один элемент, он отображается.
{{ task.hello }}
<div ng-repeat="item in task.items">
<div> {{ item }} </div>
</div>
Визуализированное изображение
Идентичные строки разрывают цикл
Это кажется неинтуитивным поведением. Попробуй сам. Я изменил одну букву из моего примера, и шаблон отобразился, как и ожидалось.
Может ли кто-нибудь сказать мне, почему это ведет себя так?
Пример кода. Этот код дает разные результаты и по какой-то причине не работает, если вы не добавите префикс «$scope» вместо «this», как в введите здесь описание ссылки. Чтобы сделать вещи более запутанными, версия с ограниченной областью действия на самом деле не создает проблемы, описанной в этом посте.