gleber1
@gleber1

Почему при написании директивы меняется scope со второго вызова?

(function () {
    'use strict';

    angular
        .module('app.widgets')
        .directive('pagination', pagination);

    function pagination() {
        var directive = {
            scope: {
                offset: "="
            },
            restrict: 'EA',
            link:link,
            template:' <button>Read more<button>'
        };
        return directive;
        function link(scope,element,attrs){
            element.bind('click', function () {
                ++scope.offset;
                scope.$apply();
            });
        }
    }
})();

<pagination offset="vm.filters.offset"/>
Контроллер модуля что использует дерективу
$scope.$watch('vm.filters.offset',function(oldVal,newVal){
                    console.log(newVal);
               });

Вот тут он сначало лог делает 1(как задано по дефолту)
Это при загрузке
Потом 1 по клику(ВОТ ЭТОТ МОМЕНТ НЕ ЯСЕН И КАК ЕГО ПОПРАВИТЬ!!!!!!!)
Потом только 2,3..итд
  • Вопрос задан
  • 113 просмотров
Решения вопроса 1
premas
@premas
Full-stack web-developer
$scope.$watch('vm.filters.offset',function(newVal, oldVal){
    console.log(newVal);
});

Порядок аргументов указан неправильно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы