Angularjs 如何在javascript中从ng repeat获取动态ng模型?
我正在开发一个web应用程序,却被困在这里: HTML的一部分:Angularjs 如何在javascript中从ng repeat获取动态ng模型?,angularjs,Angularjs,我正在开发一个web应用程序,却被困在这里: HTML的一部分: <div class="input-group"> <select name="select" class="form-control input-group-select" ng-options="key as key for (key , value) in pos" ng-model="word.pos" ng-change="addPos()"> <option value="">
<div class="input-group">
<select name="select" class="form-control input-group-select" ng-options="key as key for (key , value) in pos" ng-model="word.pos" ng-change="addPos()">
<option value="">Choose a POS</option>
</select>
<span class="sort"><i class="fa fa-sort"></i></span>
</div>
<ul class="listGroup" ng-show="_pos.length > 0">
<li class="list" ng-repeat="item in _pos track by $index">
<span>
{{item.pos}}
<span class="btn btn-danger btn-xs" ng-click="delPos($index)">
<span class="fa fa-close"></span>
</span>
</span>
<!-- I wanna add the input which can add more list item to the item.pos-->
<div class="input-group">
<a class="input-group-addon add" ng-class=" word.newWordExp ? 'active' : ''" ng-click="addItemOne()"><span class="fa fa-plus"></span></a>
<input type="text" class="form-control exp" autocomplete="off" placeholder="Add explanation" ng-model="word.newWordExp" ng-enter="addExpToPos()">
{{word.newWordExp}}
</div>
</li>
</ul>
因此,我想做的是选择一个选项并将值附加到$scope.\u pos,然后显示为包含所有选择的列表
在每个列表项中,添加一个输入字段,并将子列表添加到$scope.\u pos值
- n。
- 解释1
- 说明2
- 说明3
- 副词。
- 解释1
- 说明2
有人能帮忙吗?如果我理解正确,你可以这样做:
this.lists
中ng repeat
将呈现第一个解释表单ng repeat
在其上循环。在那里,您还可以动态添加解释项的添加表单ng repeat
内创建追加/删除/编辑按钮。附加和删除已添加到演示中angular.module('demoApp',[])
.控制器(“appController”,appController);
函数AppController($filter){
var vm=这个,
解释模板={
名称:“”,
文本:“”
},
findInList=函数(解释){
返回$filter('filter')(vm.lists{
解释:解释
})[0];
};
此选项=[{
名称:“选项1”,
数值:0
}, {
名称:“选项2”,
价值:1
}, {
名称:“选项3”,
价值:2
}];
this.lists=[];
this.selectedOption=this.options[0];
this.addList=函数(名称、选项){
var list=$filter('filter')(vm.lists{
姓名:姓名
});//它在列表中吗?
console.log(名称、选项、列表、list.length==0);
//vm.list
如果(!list.length){
vm.lists.push({
姓名:姓名,,
选项:选项,
解释:[角度。复制(解释样本)]
});
}
};
this.append=函数(解释){
log(explain,$filter('filter')(vm.list{
解释:解释
}));
var currentList=findInList(解释);
currentList.explainstructions.push(angular.copy(explainTmpl));
}
this.delete=函数(解释){
console.log(解释);
var currentList=findInList(解释),
index=currentList.explains.indexOf(explain);
如果(索引==0&¤tList.Expansions.length==1){
//稍后显示警报,如果大小=1,则无法删除第一个元素
返回;
}
当前列表.说明.拼接(索引1);
};
}
AppController.$inject=['$filter']代码>
调试输出-当前列表:{{ctrl.lists}json:2}
列表说明-{list.name}
所选选项为:{ctrl.selectedOption}
此处尚未解释
{{explain.title}
{{explain.text}
标题:
正文:
追加
删除
不客气。很高兴听到你的应用程序现在运行得更好。太好了。我也在你的github回购的一个分支机构工作过一段时间。只是为了学习。它在branchdevel
中,几乎可以工作了。但有些问题仍然悬而未决。如果它能教你一些东西,你可以用它来学习。这是我的个人学习项目,也是我的投资组合之一。现在我遇到了一个问题,在脚本中将包含可读可打印文本的图像转换为文本字符串。太难了。。。。
$scope._pos = [];
$scope.addPos = function () {
console.log("You selected something!");
if ($scope.word.pos) {
$scope._pos.push({
pos : $scope.word.pos
});
}
console.dir($scope._pos);
//console.dir($scope.word.newWordExp[posItem]);
};
$scope.delPos = function ($index) {
console.log("You deleted a POS");
$scope._pos.splice($index, 1);
console.dir($scope._pos);
};
$scope.addItemOne = function (index) {
//$scope.itemOne = $scope.newWordExp;
if ($scope.word.newWordExp) {
console.log("TRUE");
$scope._newWordExp.push({
content: $scope.word.newWordExp
});
console.dir($scope._newWordExp);
$scope.word.newWordExp = '';
} else {
console.log("FALSE");
}
};
$scope.deleteItemOne = function ($index) {
$scope._newWordExp.splice($index, 1);
};