追加html

时间:2016-01-19 18:41:50

标签: javascript jquery angularjs grails

我在stackoverflow上搜索过这个问题太多了,有类似的但没有帮助,几乎尝试了一切。 问题是:

我有一个应用程序,我使用角度js绑定事件,如加载更多(分页),“添加到购物车”等等。

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

首次加载页面时,模型(数据)视图即将进入,因此事件正常。但是,当我使用$ http服务“加载更多”数据并附加到当前DOM时,事件绑定不起作用。即使是jquery点击事件也无效。

我用它来绑定数据:

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

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

响应是使用html数据的服务器响应。

任何猜测?需要更多解释吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

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

$compile($items)($scope);

编辑:

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