Angularjs 在组件完全就绪后执行函数
我有一个angularjs组件,它有一个模板、一个控制器、一些绑定和一些转置部分 我将此组件及其属性放在DOM中:Angularjs 在组件完全就绪后执行函数,angularjs,angularjs-components,Angularjs,Angularjs Components,我有一个angularjs组件,它有一个模板、一个控制器、一些绑定和一些转置部分 我将此组件及其属性放在DOM中: <mycomponent attr1="x" attr2="y"></mycomponent> 这些属性值将由组件的控制器和/或组件的模板中使用,以转移到某个地方 在组件完全创建之后,我需要运行一个函数,即在DOM上创建了它的模板,并且所有转包的元素都被赋予了一个值 我怎样才能做到这一点?我尝试将函数放置在控制器的$postLink()钩子中,但是当$
<mycomponent attr1="x" attr2="y"></mycomponent>
这些属性值将由组件的控制器和/或组件的模板中使用,以转移到某个地方
在组件完全创建之后,我需要运行一个函数,即在DOM上创建了它的模板,并且所有转包的元素都被赋予了一个值
我怎样才能做到这一点?我尝试将函数放置在控制器的$postLink()钩子中,但是当$postLink()激发时,我看到转换尚未运行
此外,我不想弄乱组件的控制器,因为组件非常通用,我把它放在DOM中的几个地方,只有其中一个应该在完成创建后运行此函数。对于AngularJS 1应用程序,有两种方法可以在DOM初始化后运行函数:
在角度2中:
$( document ).ready(function() {
console.log( "document loaded" );
});
window.onload(function(){
//here
});
angular.element(document).ready(function () {
//content here
});
ngAfterViewInit()
Angular初始化零部件视图和子视图后响应。
在第一个ngAfterContentChecked()之后调用一次。
只有组件的挂钩
在Jquery中:
$( document ).ready(function() {
console.log( "document loaded" );
});
window.onload(function(){
//here
});
angular.element(document).ready(function () {
//content here
});
在javascript中:
$( document ).ready(function() {
console.log( "document loaded" );
});
window.onload(function(){
//here
});
angular.element(document).ready(function () {
//content here
});
角度1:
$( document ).ready(function() {
console.log( "document loaded" );
});
window.onload(function(){
//here
});
angular.element(document).ready(function () {
//content here
});
根据AngularJS文件中的段落:
$postLink()-在此控制器的元素及其子元素之后调用
已被链接。与post链接功能类似,此挂钩可以
用于设置DOM事件处理程序并执行直接DOM操作。注
包含templateUrl指令的子元素将不具有
已编译并链接,因为它们正在等待模板的更新
异步加载,它们自己的编译和链接已完成
暂停,直到发生这种情况。这个钩子可以被认为类似于
ngAfterViewInit和ngAfterContentInit在Angular 2中挂钩。自从
在Angular 1中,编译过程非常不同,没有
升级时应直接映射并小心
我发现AngularJS 1就是这样。没有可使用的生命周期方法或挂钩$onInit不保证组件的视图和子视图已在UI上完成加载,并且$viewContentLoaded未在组件上使用。