Search code examples
angularjstwitter-bootstrapangular-strap

how can i add controller as a function to angularstrap modal?


in angularstrap documentation controller can be a function. but there is no example for this ability. I am using this code for creating and display a modal using 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) ; 
}; 

and it is my modal template script:

<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>
		<button type="button" class="btn btn-primary" ng-click="test()">Save</button>
      </div>
    </div>
  </div>
</div>

when I open this dialog first log is shown in console but when I click on save button no thing happen.


Solution

  • How about this?

    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");
        };
      }]
    });