Показать сообщение отдельно
  #2 (permalink)  
Старый 08.02.2016, 12:33
Аспирант
Отправить личное сообщение для stweet Посмотреть профиль Найти все сообщения от stweet
 
Регистрация: 21.12.2011
Сообщений: 41

// Собственно сложность понимания была на уровне диспетчеризации
// глобального скопа. Т.е. насколько я понял, отдельно слушать модель
// нет возможности, а в случае войны дергать весь скоп.

// Прискорбно, но как то так...
/**
 * 
 * @param {type} param1
 * @param {type} param2
 */
app.service("appModel", function(){
    this.state = 1;
});

/**
 * 
 * @param {type} param1
 * @param {type} param2
 */
app.directive("ngStateShow", function(appModel){
    
    return {
        link: function(scope, el, at) {
            scope.$watch(function(){
                if (appModel.state == at.ngStateShow) {
                    el.show();
                } else {
                    el.hide();
                }
            });
        }
    };
});

/**
 * 
 */
app.directive("ngStateClick", function(appModel) {
    return {
        link: function(scope, el, at){
            el.bind("click", function(){
                appModel.state = at.ngStateClick;
                scope.$apply();
            });
        }
    };
});
Ответить с цитированием