Я определил одну переменную в контроллере, и я присвоил это значение одному атрибуту настраиваемой директивы. Поэтому, основываясь на этом значении, я показываю шаблон модального окна. Теперь, если я нажимаю кнопку отмены из шаблона модального окна, он вызывает одну функцию от контроллера, которая изменяет значение переменной на false, но не скрывает всплывающее окно. Пожалуйста, помогите мне исправить это.Как получить измененные значения от контроллера к пользовательской директиве?
(function() {
'use strict';
angular.module('module1').directive('myDirective', function() {
function linkFunction(scope, elem, attrs) {
//scope.openvalue = attrs.openvalue;
scope.closevalue = false;
scope.close = function() {
console.log("Inside Close");
scope.openvalue = false;
scope.closevalue = false;
};
};
return {
templateUrl: 'confirmTemplate.html',
restrict: 'E',
link: linkFunction,
scope: {
confirmtext: '@',
openvalue: '=',
closeconfirm: '&',
submitconfirm: '&'
},
controller: ['$scope', function ($scope) {
$scope.$watch('openvalue', function() {
console.log("OpenValue : " + $scope.openvalue);
});
}]
};
});
})();
Ниже приведено html для открытия этого модального.
<div class="col-xs-12 options" ng-click="cntrl.flag1 = true">
<div class="row">
<myDirective openvalue="cntrl.flag1" confirmtext="This is the text from directive"
closeconfirm="cntrl.closeconfirm()" submitconfirm="cntrl.submitconfirm()"></myDirective>
<div class="col-xs-9 no-left-right-padding">My text</div>
</div>
</div>
И я хочу обновленное значение openvalue внутри html-шаблона, но оно не работает.
Что вы пробовали? Было бы полезно увидеть связанный код. – palra