完成加载ng-include在角度js

Sho*_*hel 37 angularjs angularjs-directive

什么是通过ng -include检测html加载完成的最佳方法.我想在完成加载时编写一些代码.

谢谢你的想法.

New*_*Dev 72

ng-include根据您的需要,有两种方法可以检测何时完成加载:

1)via onload属性 - 用于内联表达式.例如:

<div ng-include="'template.html'" onload="loaded = true"></div>
Run Code Online (Sandbox Code Playgroud)

2)通过事件$includeContentLoaded的是ng-include发射-为应用范围的处理.例如:

app.run(function($rootScope){
  $rootScope.$on("$includeContentLoaded", function(event, templateName){
     //...
  });
});
Run Code Online (Sandbox Code Playgroud)

当它完成加载内容

  • 注意:这两段代码之间存在重大差异.在加载模板中的所有图像和内容之后将调用`onload`属性,而在加载任何图像之前将加载`$ includeContentLoaded`; 当任意HTML内容加载到`<div>`时它会加载. (6认同)

K.T*_*ess 15

你可以用onload它如下

<div ng-include=".." onload="finishLoading()"></div>
Run Code Online (Sandbox Code Playgroud)

在控制器中,

$scope.finishLoading = function() {

}
Run Code Online (Sandbox Code Playgroud)

加载ng-include finishLoading范围后,函数将调用.

这是工作Demo Plunker


Beh*_*adi 8

您可以使用此代码:

$scope.$on('$includeContentLoaded', function () {
    // it has loaded!
});
Run Code Online (Sandbox Code Playgroud)