use*_*772 158 events loaded angularjs
我有一个函数,我想在加载页面内容后调用.我读到了$ viewContentLoaded,它对我不起作用.我正在寻找类似的东西
document.addEventListener('DOMContentLoaded', function () {
//Content goes here
}, false);
Run Code Online (Sandbox Code Playgroud)
以上调用在AngularJs控制器中对我不起作用.
Rez*_*eza 160
根据$ viewContentLoaded的文档,它应该工作
每次重新加载ngView内容时都会发出.
$viewContentLoaded 发出的事件意味着要接收此事件,您需要一个父控制器
<div ng-controller="MainCtrl">
<div ng-view></div>
</div>
Run Code Online (Sandbox Code Playgroud)
从MainCtrl你可以听取这个事件
$scope.$on('$viewContentLoaded', function(){
//Here your view content is fully loaded !!
});
Run Code Online (Sandbox Code Playgroud)
检查演示
har*_*man 101
角度<1.6.X
angular.element(document).ready(function () {
console.log('page loading completed');
});
Run Code Online (Sandbox Code Playgroud)
角度> = 1.6.X
angular.element(function () {
console.log('page loading completed');
});
Run Code Online (Sandbox Code Playgroud)
jus*_*opi 76
使用指令和角元素ready方法如下:
.directive( 'elemReady', function( $parse ) {
return {
restrict: 'A',
link: function( $scope, elem, attrs ) {
elem.ready(function(){
$scope.$apply(function(){
var func = $parse(attrs.elemReady);
func($scope);
})
})
}
}
})
Run Code Online (Sandbox Code Playgroud)
<div elem-ready="someMethod()"></div>
Run Code Online (Sandbox Code Playgroud)
或者那些使用controller-as语法的人......
<div elem-ready="vm.someMethod()"></div>
Run Code Online (Sandbox Code Playgroud)
这样做的好处是,您可以根据自己的用户界面广泛或细化,并从控制器中删除DOM逻辑.我认为这是推荐的Angular方式.
如果您在同一节点上运行其他指令,则可能需要优先处理此指令.
blu*_*lue 63
您可以通过添加{{YourFunction()}}HTML元素后直接调用它.
这是一个Plunker Link.
Saa*_*qar 20
在使用谷歌图表处理时,我必须实现这个逻辑.我做的是在我的html内部控制器定义结束时我添加了.
<body>
-- some html here --
--and at the end or where ever you want --
<div ng-init="FunCall()"></div>
</body>
Run Code Online (Sandbox Code Playgroud)
在那个函数中简单地调用你的逻辑.
$scope.FunCall = function () {
alert("Called");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
409950 次 |
| 最近记录: |