加载时的Bootstrap-angular-ui模态

Hos*_*dir 13 javascript twitter-bootstrap angularjs

我正在使用bootstrap-angular-ui-modal来处理我正在使用的网站.我用来打开模态的代码

$modal.open(
    {
        templateUrl: '/home/template',
        controller: myCtrl,
        resolve: {
            data: function () {
                return data;
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

一切都很好.但我需要找到一种方法来加载模态后执行一些代码.我尝试过不同的东西,却无法让它们发挥作用.我试过的一些事情

在模板中我做了

<script>
    document.onload = function () {
        console.log('opened');
    };
</script>
Run Code Online (Sandbox Code Playgroud)

我还发现有一个名为openned的角度模态对象的承诺.我试过了

modalInstance.opened.then(function(){console.log('hello')});
Run Code Online (Sandbox Code Playgroud)

也没有工作.我可以在这里使用一些帮助.

Hos*_*dir 6

这绝对不是一个好的解决方案,但至少对我有用.我刚刚在执行所需的函数之前添加了一个超时,

modalInstance.opened.then(
    $timeout(function() {
            console.log('hello');
        }, delay));
Run Code Online (Sandbox Code Playgroud)


小智 5

UI-bootstraps模式有一个result决心.

"打开" - 在下载内容模板并解析所有变量后打开模态时解决的承诺

要么

使用ng-init.在模板文件中创建一个div:

<div ng-init="func()"></div>
Run Code Online (Sandbox Code Playgroud)

  • 尝试过"开放"的承诺.在加载模态之前调用.这就是为什么jquery绑定代码不起作用的原因.和ng-init - "ngInit的唯一合适用途,用于别名ngRepeat的特殊属性,如下面的演示所示.除了这种情况,您应该使用控制器而不是ngInit来初始化范围上的值 (6认同)