angularjs-操纵dom

angularjs-操纵dom,angularjs,dom,getelementbyid,Angularjs,Dom,Getelementbyid,我有一个文本区域,尽管通过函数添加了注释,但仍然是空的。结果,内容没有绑定到$scope,我丢失了数据 我尝试了以下方法: angular.element($document[0].getElementById(vm.selectedId)).value = comment; $document[0].getElementById(vm.selectedId).value = comment; window.document.getElementById(vm.selectedId).val

我有一个文本区域,尽管通过函数添加了注释,但仍然是空的。结果,内容没有绑定到$scope,我丢失了数据

我尝试了以下方法:

angular.element($document[0].getElementById(vm.selectedId)).value = comment;

$document[0].getElementById(vm.selectedId).value = comment;

window.document.getElementById(vm.selectedId).value = comment;

document.getElementById(vm.selectedId).value = comment;
第一次尝试根本不起作用(尽管有最多的ng包装)。其余的将出现在字段中,但不会绑定


我还应该注意,我试图向其中添加文本的文本字段位于ng repeat的行内,因此它们的id是使用$index创建的…

如何将索引传递给函数,然后更新基础数组

(函数(){
"严格使用",;
有棱角的
.module('myApp',[])
.controller('myCtrl',myCtrl');
函数myCtrl(){
/*这是真的*/
var vm=这个;
vm.items=['1','2','3','4'];
vm.addComment=函数(i){
vm.items[i]=“注释”;
}
} 
})();

添加注释

您是否有
id=“{{$index}}”
ng attr id=“{{$index}}”
?(您需要使用
id
而不是
ng model
的具体原因是什么?)嗯,像您尝试绑定到控制器时一样使用ng model。这应该允许2个数据绑定。我使用的是
ng attr id
。我认为我需要使用
id
,因为我在
ng repeat
中绑定属性实例,而不是普通属性…Dante,我也在使用ng模型。由于我已经解释过的原因,它没有绑定。@jamesbcn很高兴看到您的HTML代码能够正常工作,但不幸的是,我还需要排序功能:
ng repeat=“deskCtrl.desktop.comparables.comp按$index跟踪| toArray | orderBy:deskCtrl.sortTables.comparables.sortType:deskCtrl.sortTables.comparables.sortReverse”>
@jamesbcn如果它们被过滤,也尝试传递过滤数组:
ng repeat=“item in filtered=(items | toArray |…)”
然后使用
ng click=“addComment(过滤后,$index)“”我终于设法破解了如何绑定到NG重复的对象的属性(简单地通过一个函数传递它们)。谢谢大家。我再也不会考虑使用$ index!