当前位置: 首页 > 面试题库 >

尽管看似正确的调用,但仍然不会显示angular-bootstrap模态对话框

翟凯
2023-03-14
问题内容

我正在尝试从角度控制器调用模式对话框。这个例子很简单,而且非常简单。我有这样的代码

$modal.open({
        template: '<div class="modal-body">Choose current project<button class="btn btn-primary" ng-click="ok()">OK</button> <button class="btn btn-warning" ng-click="cancel()">Cancel</button></div>',
        controller: ModalChooseProjectCtrl
    });

控制函数声明为

var ModalChooseProjectCtrl = function($scope, $modalInstance) { 
         $scope.ok = function() {
        $modalInstance.close($scope.chosenProject);
    };

    $scope.cancel = function() {
        $modalInstance.dismiss('cancel');
    };
};

并从带有属于div的控制器函数调用,该函数包含引导程序的导航栏。

问题:当我调用具有该$ modal.open调用的函数时,显示错误

  Error: [$compile:tplrt] Template for directive 'modalBackdrop' must have exactly one root element. template/modal/backdrop.html 
  http://errors.angularjs.org/1.2.15-build.2378+sha.9335378/$compile/tplrt?p0=modalBackdrop&p1=template%2Fmodal%2Fbackdrop.html


  Error: [$compile:tplrt] Template for directive 'modalWindow' must have exactly one root element. template/modal/window.html
  http://errors.angularjs.org/1.2.15-build.2378+sha.9335378/$compile/tplrt?p0=modalWindow&p1=template%2Fmodal%2Fwindow.html

这些错误表明模板可以说是mut,被包装在一个html根元素中,而这从模板上来看是很明显的。另外,调用后,我看到以下元素出现在代码中

 <div modal-backdrop="" class="ng-scope"></div>
 <div modal-window="" index="0" animate="animate" class="ng-scope"></div>

如果单击更多,代码中将显示更多模态窗口。但是屏幕只是跳动,什么也没有发生,所以我没有模态对话框。在Plunker中,对话框的调用代码显示它很好(http://plnkr.co/edit/VJ1Kick7QWE3X0bL6gtw,但这只是基本的调用例程。)


问题答案:

当您没有提供angular-ui模板时,这是一个常见问题。

angular-ui的最新版本有两个变体:ui-bootstrap.jsui-bootstrap-tpls.js您只需要使用最后一个。

提供的错误与指令模板无关,而与angular-
ui本身的一部分modalBackdrop和modalWindow指令模板有关。通常,Angular无法找到模板并发出HTTP
GET请求以获取一些HTML代码,例如404错误。而且有很多根元素。因此,这就是为什么您会收到此类错误的原因。检查页面加载时的HTTP请求。



 类似资料:
  • 本文向大家介绍Bootstrap模态对话框中显示动态内容的方法,包括了Bootstrap模态对话框中显示动态内容的方法的使用技巧和注意事项,需要的朋友参考一下 首先引入bootstrap的js和css,在引入对应版本的jquery; 添加按钮,点击弹出模态窗体: 创建模态对话框: 注意:如果发现二级窗体打开一次后再打开失败,请看看href引用的界面中,是否在header中引入了css或js,这里不

  • 我刚刚发现,即使省略了参数上的注释,Spring仍然能够绑定它。 有人能指出澄清这种行为的文档吗?我一直认为是绑定工作所必需的。 谢谢

  • 我想看看在phpUnit运行期间当前执行哪个测试。 我使用参数,但仍然只得到点: : 这是什么原因呢?

  • 我的媒体对象不想实例化,我有所有正确导入的jar文件,包括JavaFX,这样我可以播放mp3文件。 我有导入的包: 但是它仍然不能运行。任何建议都将不胜感激,因为我已经谷歌了几天关于媒体和插件的一切:(

  • 问题内容: 我使用MySQL 5.1,并从一个270万行的UTF-8解码txt文件加载到一个表中,该表本身声明为,并且所有char字段都声明为,使用… 在数据库本身中,所有字符似乎都是正确的,一切看起来都不错。但是,当我使用php打印它们时,字符显示为???,尽管我在HTML头中使用utf-8声明: 在另一个表(使用utf-8)中,我从提交的表单中插入了文本,这些字符在数据库中奇怪地显示,但是当我