gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 22:32:10 26 4
gpt4 key购买 nike

<html>
<head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.js"></script>
</head>
<body>
<div id="ajax-content-here">

</div>
</body>
</html>

我对 Angular 很陌生,所以请温柔一点!

所以这个想法如上面标题中所述 - 我加载我的页面,其中包含头部部分中的 Angular 库。后来我使用 ajax (jquery) 将数据(如下)加载到 div 容器中。

<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>

我想以某种方式初始化 Angular ,使其仅在ajax请求完成后在#angular-test容器内处于事件状态。我认为它与作用域对象有关,对吗?

谢谢!

最佳答案

一旦 DOM 完成加载(在 DOMContentLoaded 事件上),Angular 就会进行初始化(包括查找 ng-app 和模板编译)。 Angular 没有办法知道 DOM 已更改,并且在收到 AJAX 响应后会向 DOM 添加 ng-app。

因此,您可以在 DOM 真正最终确定后尝试手动初始化 Bootstrap (即在分配给 innerHTML 之后,在 jquery ajax 回调上)。在回调中执行如下操作:

  angular.bootstrap($('#ajax-content-here'));

假设ajax-content-here里面的内容引用了一些ng-app。查看手动初始化部分 http://docs.angularjs.org/guide/bootstrap

关于jquery - 仅在通过 ajax 加载的页面中使用 Angular,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16898931/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com