gpt4 book ai didi

javascript - 附加html后, Angular + jquery事件未绑定(bind)

转载 作者:行者123 更新时间:2023-11-27 23:27:03 25 4
gpt4 key购买 nike

我在 stackoverflow 上搜索了太多关于这个问题的信息,有类似的,但没有任何帮助,并且几乎尝试了所有方法。 问题是:

我有一个应用程序,其中使用 Angular js 来绑定(bind)事件,例如加载更多(分页)、“添加到购物车”等。

我没有使用路由来加载模板。它只是一个在 gsp 中带有 ng-app 的 grails 应用程序,我正在通过 ajax $http 请求从服务器渲染模板。

第一次加载页面时,带有模型(数据)的 View 会立即出现,因此事件工作正常。但是当我使用 $http 服务“加载更多”数据并将其附加到当前 DOM 时,事件绑定(bind)不起作用。甚至 jquery 点击事件也不起作用。

我用它来绑定(bind)数据:

$('#itemsSpace').append($compile(response.data)($scope));

if(!$scope.$$phase) {
$scope.$apply()
}

其中响应​​是带有 html 数据的服务器响应。

有什么猜测吗?还需要更多解释吗?

谢谢!

最佳答案

var $items = $(response.data);
$('#itemsSpace').append($items);

$compile($items)($scope);

编辑:

查看 $compile 的源代码,如果节点不是 jQLite 实例,编译器会将给定节点转换为 jQLite 对象。因此,OP 的原始代码将与此处的代码一样工作。 Example 。因此问题出在其他地方。

关于javascript - 附加html后, Angular + jquery事件未绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34884552/

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