如何将$事件传递给angular ui路由器状态的onEnter函数

时间:2015-06-10 16:28:33

标签: angularjs angular-material angular-ui-router

我有一个问题,也许是一个愚蠢的问题,我正在使用ui-router状态打开一个模态,就像解释here一样,除了模态不是ui-bootstrap的部分,它是angular-material的$mdDialog。正如你们中的一些人知道$ mdDialog从元素中滑入而不是像bootstrap-modal那样从顶部到中心点击。现在它在没有滑动的情况下消失,我想从元素中滑动模态。我为此目的创建了fiddle
这是代码

var app = angular
  .module('myApp', ['ngAnimate', 'ngAria', 'ngMaterial', 'ui.router'])

.config(['$stateProvider', function($stateProvider) {
    $stateProvider
      .state("campaigns", {
        url: "/campaigns",
        abstract: true
      })
      .state("campaigns.add", {
        url: "/add",
        onEnter: function($mdDialog) {
          var ev = null; // this should be the $event 
          $mdDialog.show(
            $mdDialog.alert()
            .parent(angular.element(document.body))
            .title('This is an alert title')
            .content('You can specify some description text in here.')
            .ariaLabel('Alert Dialog Demo')
            .ok('Got it!')
            .targetEvent(ev)
          );
        }
      });
  }])
  .controller('myController', function($scope) {

  });


HTML

<div ng-app="myApp" ng-controller="myController"><a ui-sref="campaigns.add">add campaign</a></div>

0 个答案:

没有答案