Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 访问附加html中的ng重复数据_Javascript_Angularjs_Angularjs Scope_Angularjs Ng Repeat - Fatal编程技术网

Javascript 访问附加html中的ng重复数据

Javascript 访问附加html中的ng重复数据,javascript,angularjs,angularjs-scope,angularjs-ng-repeat,Javascript,Angularjs,Angularjs Scope,Angularjs Ng Repeat,当使用自定义指令单击模型项时,我正在将一些HTML附加到该项中 我的代码: <div appenddata> <div ng-repeat="model in models"> <label ng-bind="model.name"></label> </div> <div> directive('appenddata', function($compile) { // click h

当使用自定义指令单击模型项时,我正在将一些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);
});

指令('appenddata',函数($compile){
//单击处理程序
$(element).after(“

); $compile(html)(范围); });

是否可以访问此附加html中的模型项数据?

如注释所述,您确实不应该自己将数据注入DOM。如果您需要更改DOM中显示的数据量,请使用ng repeat上的筛选器


此外,ng重复中的250个项目不足以降低页面速度,除非每个项目上都有一些非常繁重的处理。我建议使用类似的方法来分析您的应用程序,看看是什么导致其速度变慢。

是的,有可能,我最近问了一些类似的问题:

有人建议采用这一准则:

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);
});
angular.element($(“#画布”).injector().invoke(函数($compile){
var scope=angular.element($(“#画布”)).scope();
var compiledImg=$compile(“”)(范围);
$(“#画布”).replace为(compiledImg);
});

你真的应该让控制器来驱动你的视图。单击事件应该修改控制器中的数据,视图应该相应地对数据更改做出反应,这将使你的生活更轻松相信我。使用$compile、$eval之类的东西只有非常少的用例。我有大约250个项目。当我加载所有项目时应用程序在设备中运行速度非常慢。所以我想尝试这种方法,以便只在单击时填充DOM。看看它是如何工作的,它可能会给你一些想法。