Как настроить мою угловую директиву в моем случае?

0

Я пытаюсь создать директиву с областью выделения.

у меня есть

angular.module('myApp').directive('itemCollection',  
['$cookies',     
    function($cookies) {
        return {
            restrict: 'E',
            scope: {
                items: '='
            },
            link: function(scope) {
                    console.log(scope.items)
                    console.log(items)
                    --> both console.log show undefined
            }
        };
    }
]);

Html

<item-collection items="item1"></item-collection>

Кажется, я не могу получить 'item1' в моей директиве, и он не определен. Я не уверен, что мне не хватает. Может ли кто-нибудь мне помочь? Благодарю!

  • 2
    item1 настроен на что-либо в вашей родительской области?
  • 0
    как насчет превращения item1 в вашем html в строку? <item-collection items = "'item1'"> </ item-collection> item1 - это объект в вашем случае, если он не определен, то это имеет смысл. так что просто попробуйте сделать строку и, пожалуйста, сообщите. это должно решить это.
Показать ещё 1 комментарий
Теги:
angularjs-directive

1 ответ

1
Лучший ответ

item1 ли item1 асинхронно? Если это так, вам нужно настроить часы в своей директиве и процессе, как только он будет доступен.

    return {
        restrict: 'E',
        scope: {
            items: '='
        },
        link: function(scope) {
                console.log(scope.items)
                console.log(items)
                --> both console.log show undefined

            scope.$watch(
                function() { return scope.items; },
                function(newValue) {
                    if (newValue != null) {
                        console.log('not null:' + newValue);
                    }
                    else {
                        console.log('still null, skip');
                    }
                }
            );
        }
    };

Ещё вопросы

Сообщество Overcoder
Наверх
Меню