Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Angular 2 components函数中,将jQuery代码包装在`document.ready()`中有意义吗_Javascript_Jquery_Angular_Document Ready - Fatal编程技术网

Javascript 在Angular 2 components函数中,将jQuery代码包装在`document.ready()`中有意义吗

Javascript 在Angular 2 components函数中,将jQuery代码包装在`document.ready()`中有意义吗,javascript,jquery,angular,document-ready,Javascript,Jquery,Angular,Document Ready,我只是想确定角度分量代码是否正在运行。这意味着此时,DOM应该准备就绪。 示例::TypeScript export class SomeComponent{ constructor(){ $('body').do(); } } 或 将代码添加到根组件的AppComponent的ngAfterViewInit()。当调用此生命周期方法时,您可以确保DOM已准备就绪。document.ready事件将在调用此生命周期方法之前发送 另请参见将代码添加到根组件AppCompon

我只是想确定角度分量代码是否正在运行。这意味着此时,
DOM
应该准备就绪。 示例::TypeScript

export class SomeComponent{
   constructor(){
     $('body').do();
   }
}


将代码添加到根组件的
AppComponent
ngAfterViewInit()
。当调用此生命周期方法时,您可以确保DOM已准备就绪。
document.ready
事件将在调用此生命周期方法之前发送


另请参见将代码添加到根组件
AppComponent
ngAfterViewInit()
。当调用此生命周期方法时,您可以确保DOM已准备就绪。
document.ready
事件将在调用此生命周期方法之前发送



另请参见

在angular2应用程序中使用jQuery没有任何意义。这是关于Angularjs还是angular2的。请修复标签。@RubyRacer这是一个完全不准确的声明。当然,
ready
会出现,但不一定要对angular上下文中OP需要的内容进行适当的排序,因为angular在此之前不会开始编译DOM,除非document ready已经启动,否则angular代码不会开始运行,所以,不,这是毫无意义的。我花了一些时间查找它。我的误解似乎是因为jQuery doc ready确实在angular之前运行,但您不能在应用程序之外使用任何jQuery来控制其中的It元素。我已经删除了我的评论。在angular2应用程序中使用jQuery没有任何意义。这是关于Angularjs还是angular2的。请修复标签。@RubyRacer这是一个完全不准确的声明。当然,
ready
会出现,但不一定要对angular上下文中OP需要的内容进行适当的排序,因为angular在此之前不会开始编译DOM,除非document ready已经启动,否则angular代码不会开始运行,所以,不,这是毫无意义的。我花了一些时间查找它。我的误解似乎是因为jQuery doc ready确实在angular之前运行,但您不能在应用程序之外使用任何jQuery来控制其中的It元素。我已经删除了我的评论。所以,因为人们认为将jQuery与Angular一起使用不是一个好主意,所以这个问题一定不能回答?如果你投了反对票,你肯定知道得更清楚。添加一个更好的答案怎么样?我之所以不这么做,不是因为这个问题不值得回答,而是因为这个答案没有正确地回答问题。(给定组件的视图初始化与DOM就绪无关。)@DanielBeck非常感谢您的反馈!您是对的,答案不是直接关于DOM就绪,而是正如问题中提到的,他希望在DOM就绪时执行代码,我认为使用生命周期回调已经足够了。不过我会更新我的问题,因为这只在根组件中有意义。我不是一名经验丰富的人,但我认为在他们的组件中使用
ngAfterViewInit
更好,而不仅仅是根组件。即使在根组件准备好之后,另一个组件也可以在DOM上创建新元素,因此新元素可能无法在根组件的
afterViewInit
上访问。@SeyiAdekoya我认为这取决于需求。调用
ngAfterViewInit()
时,初始视图应准备就绪。子组件是根组件视图的一部分,它们也必须准备就绪,根组件才能准备就绪。当然,由于管线更改而添加/删除的动态零件(如组件)随时都可能更改。但是
document.ready
也没有涵盖这一点。所以,因为人们认为将jQuery与Angular结合使用不是一个好主意,所以这个问题一定不能回答?如果你投了反对票,你肯定知道得更清楚。添加一个更好的答案怎么样?我之所以不这么做,不是因为这个问题不值得回答,而是因为这个答案没有正确地回答问题。(给定组件的视图初始化与DOM就绪无关。)@DanielBeck非常感谢您的反馈!您是对的,答案不是直接关于DOM就绪,而是正如问题中提到的,他希望在DOM就绪时执行代码,我认为使用生命周期回调已经足够了。不过我会更新我的问题,因为这只在根组件中有意义。我不是一名经验丰富的人,但我认为在他们的组件中使用
ngAfterViewInit
更好,而不仅仅是根组件。即使在根组件准备好之后,另一个组件也可以在DOM上创建新元素,因此新元素可能无法在根组件的
afterViewInit
上访问。@SeyiAdekoya我认为这取决于需求。调用
ngAfterViewInit()
时,初始视图应准备就绪。子组件是根组件视图的一部分,它们也必须准备就绪,根组件才能准备就绪。当然,由于管线更改而添加/删除的动态零件(如组件)随时都可能更改。但是
document.ready
也不包括这一点。
export class SomeComponent{
   constructor(){
     $(document).ready(function(){
         $('body').do();
     }
   }
}