Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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
Jquery 仅在通过ajax加载的页面中使用Angular_Jquery_Angularjs_Angularjs Scope - Fatal编程技术网

Jquery 仅在通过ajax加载的页面中使用Angular

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(jquery)将数据(如下)加载到div容器中


姓名:

你好{{你的名字}}!
我想在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 inside
angular 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'));