当使用自定义指令单击该项时,我将一些HTML附加到模型项中。
我的代码:
<div appenddata>
<div ng-repeat="model in models">
<label ng-bind="model.name"></label>
</div>
<div>
directive('appenddata', function($compile) {
// click handlers
$(element).after("<p ng-bind='model.name'></p>);
$compile(html)(scope);
});
是否可以在此附加的html中访问模型项数据?
答案 0 :(得分:1)
与评论中提到的一样,你真的不应该自己将数据注入DOM。如果您需要更改DOM中显示的数据量,请在ng-repeat上使用过滤器。
此外,ng-repeat中的250个项目不足以减慢页面速度,除非每个项目都进行了一些非常繁重的处理。我建议使用类似Angular Batarang的内容来分析您的应用程序,看看实际上导致它变慢的原因。
答案 1 :(得分:0)
是的,有可能,我最近问了一些类似的东西:
Create div with angular variable as attribute value
建议使用此代码:
angular.element($("#canvas")).injector().invoke(function($compile) {
var scope = angular.element($("#canvas")).scope();
var compiledImg = $compile('<img id="editImage" ng-src={{ImageToEdit}}>')(scope);
$("#canvas").replaceWith(compiledImg);
});