Я создаю директиву, открывающую окно с угловым бутстрапом. При закрытии модального я хотел бы иметь функцию казнены, которая передается от атрибута директивы .. Вот что я до сих пор:Вызов функции родительской области с директивой
Это на index.tpl.html:
<popup class="something" .. on-close="update()"></popup>
код Директивы, только определение сферы, так как есть много коды до этого:
scope: {
onClose: "&"
},
link: function(scope, element, attr){
//some code
......
scope.closeFn = function(){
scope.onClose();
}
//opening of the modal:
var modalInstance = $modal.open({
....
templateUrl: 'path/to/template.tpl.html,
controller: 'PopupController',
scope: scope,
....
});
в шаблоне всплывающего окна я функция связанного приложения к кнопке закрытия, которая вызывает функцию в «PopupController» который вызывает функцию closeFn из функции ссылки.
<button type="button" class="btn-close btn btn-large" ng-click="closePopup()">Close
</button>
И в 'PopupController':
$scope.closeUploadPopup = function() {
$scope.$parent.closeFn();
$modalInstance.close();
};
Насколько я понимаю scope.onClose() должен выполнить функцию, указанную в атрибуте на-близко?
Я не предоставил много кода, так как есть много исходного кода, но я могу добавить больше, если это поможет.
Привет, и спасибо за любезный ответ! Я попытался вызвать функцию по обещанию результата, но все же кажется, что родительская функция не вызывается. Я попытался отлаживать бит, и это то, что я наткнулся на 'destination [scopeName] = function (locals) { return parentGet (scope, locals); }; ' От углового исходного кода Где местные жители не определены. Может быть, я связываю вызов функции не так? – Loshmeey
Он должен работать: http://plnkr.co/edit/QYC7gfbk45x6rLkZASdi?p=info Попробуйте обновить эту демонстрацию своим кодом и посмотреть, сможете ли вы предоставить демоверсию проблемы. – dfsq