Jquery 仅在通过ajax加载的页面中使用Angular
我是个新手,所以请温柔一点 因此,这个想法是如上所述的标题-我加载我的页面与角度图书馆包括在头部部分。稍后,我使用ajax(jquery)将数据(如下)加载到div容器中Jquery 仅在通过ajax加载的页面中使用Angular,jquery,angularjs,angularjs-scope,Jquery,Angularjs,Angularjs Scope,我是个新手,所以请温柔一点 因此,这个想法是如上所述的标题-我加载我的页面与角度图书馆包括在头部部分。稍后,我使用ajax(jquery)将数据(如下)加载到div容器中 姓名: 你好{{你的名字}}! 我想在ajax请求完成后,以某种方式初始化angular,使其仅在#angular test容器内处于活动状态。我想这和范围对象有关,对吧 谢谢 <div id="angular-test"> <div> <label>Name:&
姓名:
你好{{你的名字}}!
我想在ajax请求完成后,以某种方式初始化angular,使其仅在#angular test
容器内处于活动状态。我想这和范围对象有关,对吧
谢谢
<div id="angular-test">
<div>
<label>Name:</label>
<input type="text" ng-model="yourName" placeholder="Enter a name here">
<hr>
<h1>Hello {{yourName}}!</h1>
</div>
</div>
一旦DOM完成加载(在DOMContentLoaded事件上),ng应用程序的
部分将初始化angular insideangular test
angular进行初始化(包括查找ng应用程序和模板编译)。Angular无法知道DOM是否已更改,并且在收到AJAX响应后会向DOM添加ng应用程序
因此,您可以尝试在DOM真正完成后手动初始化引导(即在分配给innerHTML后,在jQueryAjax回调上)。在回调中,执行以下操作:
<div ng-app id="angular-test">
假设这里ajax内容中的内容
指的是一些ng应用程序
。
看看上的手动初始化部分,我怀疑它在加载AJAX()时是否会被Angular初始化。你应该从阅读开始:我确实读过,但在我的例子中,我正在一个大型项目中创建一个新的部分,我想在这一部分中使用Angular。因为现在不可能用angular从头重写所有内容,所以我想从小事做起。应该有可能吧?以前不可能有人没有这个问题。使用自定义的书面指令或整个“路由包”来使用ajax获取的HTML。听起来仍然是个坏主意。我同意@TheHippo的观点,Angular有自己的机制来延迟加载HTML部分,将jQuery和Angular混合在一起肯定会让你头疼。澄清一下:Angular与jQuery相比,是一个框架,而不是一个库。事情应该以特定的方式来完成。您试图归档的内容与您应该如何归档正好相反。
<div ng-app id="angular-test">
angular.bootstrap($('#ajax-content-here'));