代码之家  ›  专栏  ›  技术社区  ›  SimplGy

当加载<ng include src=“…”>时检测

  •  1
  • SimplGy  · 技术社区  · 10 年前

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

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

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

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

    然后加载 modals/contents-addressForm.html 或者无论情况如何。

    诀窍是,不同的形状大小不同。加载时,模态需要重新定位。

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

    有没有办法知道任何ng何时包含负载?下一个ng何时包含负载?

    2 回复  |  直到 10 年前
        1
  •  2
  •   GregL    10 年前

    根据 the docs ,您应该能够侦听名为 $includeContentLoaded 告诉这个。

    $scope.$on('$includeContentLoaded', function () {
        // it has loaded!
    });
    
        2
  •  1
  •   Miraage    10 年前

    阅读 docs .

    onload(可选)加载新分部时要计算的表达式。

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