jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 如何用jsf reRender或ajax加载替换html内容,并用AngularJS重新绑定新的DOM?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
虑一下代码
<div id="dest">
  <p>Original Content</p>
  <p>Some data</p>
  <ul>
    <li ng-repeat="i in items">{{i.namE}}</li>
  </ul>
</div>

或者,使用jsf,一个小组:

<h:panelGroup id="dest">

Angularjs将理解指令ng-repeat,然后它将替换标签< li>按项目清单.

但是,如果您的html已更改,通过ajax加载或通过jsf reRender,AngularJS将无法识别新内容

$('#dest').load('replace.html');

解决方法

我们需要为新DOM编译和应用AngularJS范围:

在控制器上,创建一个函数来编译一个新的html,并绑定到同一个范围:

$scope.compileDOM = function($el) {
    ($compile($el))($scopE);
    $scope.$apply();
};

并且,在加载后,将其命名为:

$('#dest').load('replace.html',function() {
    $dest.scope().compileDOM($dest);
});

查看函数.scope().它允许为HTML元素找到正确的AngularJS范围.它不需要直接指向带有ng-controller的元素,可以使用Ng-controller下的任何元素.

Plunker样品:PLUNKER

大佬总结

以上是大佬教程为你收集整理的jquery – 如何用jsf reRender或ajax加载替换html内容,并用AngularJS重新绑定新的DOM?全部内容,希望文章能够帮你解决jquery – 如何用jsf reRender或ajax加载替换html内容,并用AngularJS重新绑定新的DOM?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。