我在收到html
回复后创建了ajax
,例如:
var html = '';
html = '<div ng-click="deleteRecord($event)">delete</delete>';
$('.main).append(html);
但是ng-click
指令在直接在html文档中添加时工作正常无效。我对角度与DOM的结合方式不太了解。
因此,当我通过html
添加jquery
时,我需要一些支持才能理解我是否能够完成这项工作?
感谢。
答案 0 :(得分:0)
您可以使用默认Angular库中包含的bindHtml指令,而不是将HTML附加到元素中。
<div data-ng-bind-html="someHtml"></div>
只需将HTML字符串应用于控制器的someHtml属性即可,它应该可以正常工作。确保在控制器中包含ngSanitize(或'$ sanitize'),因为这样可以确保不会插入任何有害的HTML。
答案 1 :(得分:0)
插入HTML后,您可以致电$apply()
。这迫使角度重新消化绑定。
var html = '';
html = '<div ng-click="deleteRecord($event)">delete</delete>';
$('.main).append(html);
$scope.$apply();
答案 2 :(得分:0)
试试这个:
$('.main').append($compile(html)($scope));
$scope.$apply();
希望它有所帮助。
PD:我在使用Angular时试图避免使用jQuery。