1

我正在使用<ng-include>模式内部根据某些选项有条件地加载不同的内容。

当模式以一种模式(呵呵)或另一种模式启动时,或者当用户更改下拉菜单时,会选择内容。

在任何这些情况下,我的模板中这样的部分都会加载正确的模态内容:

<!-- Load in the correct modal contents -->
<ng-include src="'modals/contents-'+ form.type +'.html'"></ng-include>

然后它会加载modals/contents-addressForm.html或任何情况。

诀窍是,不同的形式是不同的大小。当它们加载时,模态需要重新定位自身。

我已经尝试$watchform.type变量。这会在模式启动时检测到更改和初始值,但重新定位发生得太快,因为ng-include尚未加载内容。我试过推迟,但这并不总是足够长的。我可以尝试任意长度的超时,但这似乎......任意。

有什么方法可以知道任何 ng-include 何时加载?下一个 ng-include 何时加载?

4

2 回答 2

2

根据文档,您应该能够收听一个调用范围事件$includeContentLoaded来说明这一点。

$scope.$on('$includeContentLoaded', function () {
    // it has loaded!
});
于 2014-08-20T05:39:25.443 回答
1

阅读文档

onload (可选)在加载新部分时评估的表达式。

<!-- Load in the correct modal contents -->
<ng-include src="'modals/contents-'+ form.type +'.html'"
            onload="myFunction()"></ng-include>
于 2014-08-20T06:56:01.920 回答