2015-10-21 2 views
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">&times;</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>

, когда я открыть это диалоговый первый журнал отображается в консоли, но когда я нажимаю кнопку сохранения, ничего не происходит.

+0

Вам необходимо перейти в область $ scope и изменить this.test на $ scope.test. Или вы можете использовать синтаксис controllerAs. Set controllerAs: 'vm'. Затем в вашем шаблоне измените ng-click на ng-click = "vm.test()" –

+0

. Я изменяю значение "this" в "$ scope" в моем коде, но никаких изменений не повлияло –

ответ

2

Как насчет этого?

var checkModal= $modal({ 
    title :"test 1", 
    templateUrl:"temp/checkTemp.html", 
    show:false, 
    controller: ['$scope', function($scope){ 
    $scope.test = function() { 
     console.log("show other log to me"); 
    }; 
    }] 
});