从javascript打开angular-ui-bootstrap模式

时间:2014-01-10 01:43:26

标签: angularjs angular-ui-bootstrap

我正在尝试在满足特定条件时从javascript打开模式对话框。此处显示的示例http://angular-ui.github.io/bootstrap/在ng-click上调用模态。

如果满足某个条件,我如何实现显示模态?

由于


其他信息


抱歉,并不意味着造成混乱。我将通过说出“某些条件”的含义来澄清一点。该场景是用户将按名称搜索客户,并将获得与搜索字符串匹配的客户列表。然后,用户单击任何一个客户行以获取更多详细信息。

单击时,代码控件将传递给Controller(它是一个ASP.Net MVC应用程序),然后它将通过其他类,最后从数据库中获取客户的数据。然后它将填充一个名为spouseNotFound的布尔属性。然后它将JSON返回给angularjs控制器。现在假设如果这个特定的顾客没有配偶我想要显示一个模式说“未找到配偶”。

所以,不,我不希望在事件上调用模态,而不是在业务规则条件上调用。

希望有助于清楚地理解事物。

3 个答案:

答案 0 :(得分:4)

直接来自文档。

  

$ modal是一种快速创建AngularJS驱动的模态窗口的服务。创建自定义模态非常简单:创建局部视图及其控制器,并在使用服务时引用它们。

示例plnkr。 (http://plnkr.co/edit/?p=preview

var modalInstance = $modal.open({
  templateUrl: 'myModalContent.html',
  controller: ModalInstanceCtrl,
  resolve: {
    items: function () {
      return $scope.items;
    }
  }
});

答案 1 :(得分:3)

如果有人需要使用AngularJS轻松显示Bootstrap Modals,那么您只需使用以下方法即可。它对我很有用:

var element = angular.element('#myModal');

// Open dialog
element.modal('show');

// Close dialog
element.modal('hide');

答案 2 :(得分:0)

您可能正在寻找的是您的范围。这将允许您监视变量,当值达到您想要的值时,然后按照Nix描述的方式启动模式。

   $scope.$watch('entities', function(){
      if($scope.entities[0].checked && $scope.entities[1].checked){
          alert("If I were bootstrap, I'd be launching a modal right now!");
      };
   }, true);

jsfiddle:http://jsfiddle.net/HB7LU/1636/