Область применения в функциях ссылок

0
.directive('dateRange', [
    function () {
        return {
            scope:{},
            restrict: 'A',
            controller: 'dateRangeController',
            templateUrl: "daterange.tpl.html",
            link: function (scope, element) {
                var container = element;

                scope.dosmth = function () {
                  ...
                };
            }
        };
    }
]);


 <span ng-click="dosmth()">

Все, что мне нужно - это получить доступ к области и контейнеру внутри функции dosmth(). Я знаю, что это возможно. Но я не могу понять, почему в этом случае это не сработает.

Теги:
angularjs-scope
angularjs-directive

1 ответ

0

В отдельной директиве scope, которую вы создали, область не имеет ничего унаследованного от родителя, поскольку декларация является пустой scope:{} Обозначьте переменные или функции там, как показано ниже.

scope: {
                varOne:'@',
                vartwo:'=',
                methodone:'&'

            }

или удалить scope:{} из определения вашей директивы.

  • 0
    inside scope.dosmth () {...}; Мне просто нужно получить доступ к «видимости» - пока не больше.
  • 0
    как вы пытаетесь получить доступ к видимости внутри dosmth() ?
Показать ещё 4 комментария

Ещё вопросы

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