【问题标题】:Angular ui Open Modal Automatically on load pageAngular ui在加载页面上自动打开模态
【发布时间】:2017-01-16 16:07:57
【问题描述】:

angular-ui-modal]1 用于创建我的网站,我想在用户进入我的网页时自动显示我的模式。 ng-click 很简单,我有这个代码:

var app = angular.module('app', ['ui.bootstrap']);
app.controller('HomeCtrl', ['$scope', '$modal', function($scope, $modal) {
$scope.openModal = function(data) {
  var modalInstance = $modal.open({
    templateUrl: 'modals/register.html',
    resolve: {
      data: function() {
        return data === null ? {} : data;
      }
    }
  });
};
}]);

但我不知道加载页面时如何触发模态。 有什么帮助吗?请

【问题讨论】:

  • 只需在作用域函数之外调用相同的代码。另外$modal 是旧版本,因此您可能需要考虑升级。

标签: angularjs angular-ui-router angular-ui-bootstrap bootstrap-modal


【解决方案1】:

您只需在加载控制器时调用该函数:

var app = angular.module('app', ['ui.bootstrap']);
app.controller('HomeCtrl', ['$scope', '$modal', function($scope, $modal) {
  $scope.openModal = function(data) {
    $scope.blurred  = "blurredopen";
    var modalInstance = $modal.open({
      templateUrl: 'modals/register.html',
      resolve: {
        data: function() {
          return data === null ? {} : data;
        }
      }
    });
  };

  $scope.openModal(); // <-- Call it
}]);

Demo on JSFiddle

【讨论】:

  • 添加了一个 JSFiddle 演示。确保在声明函数之后调用$scope.openModal()
  • 其他问题@Mistalis,如果我希望模态在 x 秒后出现?感谢您的帮助
  • 使用$timeout,如果您发现Mistalis 的回答有帮助,请接受或至少点赞。
  • 谢谢@svarog,我必须如何使用$timeout?
  • 是的,超时工作正常,但我有一个难题,无法向模态添加控制器
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多