0
в контроллере документации angularstrap может быть функцией. но нет примера для этой способности. Я использую этот код для создания и отображение модального с помощью angularStrap:как я могу добавить контроллер как функцию для углового ремешка?
$scope.openCheckDialog = function(){
var checkModal= $modal({title :"test 1",
templateUrl:"temp/checkTemp.html",
show:false,
controller:function(){
console.log("show first log to me!!!");
this.test = function(){
console.log("show other log to me") ;
}
}});
checkModal.$promise.then(checkModal.show) ;
};
и это мой модальный шаблона сценарий:
<div class="modal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header" ng-show="title">
<button type="button" class="close" aria-label="Close" ng-click="$hide()"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" ng-bind="title"></h4>
</div>
<div class="modal-body" ng-bind="content"></div>
<div class="modal-footer">
<button type="button" class="btn btn-default" ng-click="$hide()">Close</button>
\t \t <button type="button" class="btn btn-primary" ng-click="test()">Save</button>
</div>
</div>
</div>
</div>
, когда я открыть это диалоговый первый журнал отображается в консоли, но когда я нажимаю кнопку сохранения, ничего не происходит.
Вам необходимо перейти в область $ scope и изменить this.test на $ scope.test. Или вы можете использовать синтаксис controllerAs. Set controllerAs: 'vm'. Затем в вашем шаблоне измените ng-click на ng-click = "vm.test()" –
. Я изменяю значение "this" в "$ scope" в моем коде, но никаких изменений не повлияло –