Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.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
选择Angularjs ng repeat创建的新DOM元素_Angularjs - Fatal编程技术网

选择Angularjs ng repeat创建的新DOM元素

选择Angularjs ng repeat创建的新DOM元素,angularjs,Angularjs,我正在为一个web应用程序使用Angularjs。我已经尝试过搜索来找到我的问题的解决方案,但Angularjs似乎不能方便地访问ng Repeat中新创建的DOM元素 我已经准备了一个JSFIDLE来显示实际问题。 以下是链接: 请让我知道如何在ng repeat中选择新的DOM元素。要扩展我的评论,我已经更新了您的fiddle,以显示一个简单的指令实现,该指令会提醒元素的类 原始评论: 关于控制器中的dom操作,我们认为您根本不应该这样做。它应该放在指令中。控制器应仅包含业务逻辑 我不知道

我正在为一个web应用程序使用Angularjs。我已经尝试过搜索来找到我的问题的解决方案,但Angularjs似乎不能方便地访问ng Repeat中新创建的DOM元素

我已经准备了一个JSFIDLE来显示实际问题。 以下是链接:


请让我知道如何在ng repeat中选择新的DOM元素。

要扩展我的评论,我已经更新了您的fiddle,以显示一个简单的指令实现,该指令会提醒元素的类

原始评论:


关于控制器中的dom操作,我们认为您根本不应该这样做。它应该放在指令中。控制器应仅包含业务逻辑


我不知道它为什么不起作用,但可能是因为angular此时仍在运行它自己的东西。

有两种方法可以做到这一点:

1 ng初始值

function controller($scope) {
  $scope.items = [{id: 1, name: 'one'}, {id: 2, name: 'two'}];

  $scope.initRepeaterItem(index, item) {
    console.log('new repeater item at index '+index+':', item);
  }
}

2突变观察者稍微复杂一点
在指令中,对其父元素获得新子元素的元素执行此操作(在本例中为

var observer=新的突变观察者(函数(突变){
突变。forEach(功能(突变){
//您将在此处收到有关DOM突变的通知
//如果是插入,请检查mutation.type
log(mutation.target.nodeName、mutation.type、mutation);
});
});
var config={childList:true,attributes:false,characterData:false,
子树:false,attributeOldValue:false,characterDataOldValue:false};
observer.observe(元素[0],配置);
演示 文档 浏览器支持
关于控制器中的dom操作,我们认为您根本不应该这样做。它应该放在指令中。为什么它不起作用,我不知道,但可能是因为angular此时仍在运行它自己的东西。我想如果您能解释为什么或出于什么原因尝试访问新的dom元素,您将能够获得更好的解决方案。如果你能解释一下,你可能会得到一个解决问题的答案。谢谢你的简单答案。:) Demo http://plnkr.co/h6kTtq Documentation https://developer.mozilla.org/en/docs/Web/API/MutationObserver Browser support http://caniuse.com/mutationobserver