Javascript Angularjs在ng repeat中迭代
我的目标是显示项目列表及其各自的计数和描述。我将项目名称和计数输入表中。有谁能告诉我如何通过映射Javascript Angularjs在ng repeat中迭代,javascript,angularjs,Javascript,Angularjs,我的目标是显示项目列表及其各自的计数和描述。我将项目名称和计数输入表中。有谁能告诉我如何通过映射itemName将描述输入到表中吗 var c=angular.module('myApp',[]); c、 控制器(“myCtrl”,函数($scope){ $scope.data={ 计数:{ “项目1”:10, “项目2”:20 }, 项目:[{ “项目描述”:“项目描述”, “项目名称”:“项目1”, }, { “项目描述”:“项目描述”, “项目名称”:“项目2”, }] } $scope
itemName
将描述输入到表中吗
var c=angular.module('myApp',[]);
c、 控制器(“myCtrl”,函数($scope){
$scope.data={
计数:{
“项目1”:10,
“项目2”:20
},
项目:[{
“项目描述”:“项目描述”,
“项目名称”:“项目1”,
}, {
“项目描述”:“项目描述”,
“项目名称”:“项目2”,
}]
}
$scope.name=“演示”
})
你好,普朗克!
名称
描述
计数
{{key}}
{{value}}
使用一种方法
.html
使用一种方法
.html
您必须定义一个函数,该函数将通过遍历数据项返回描述 var c=angular.module('myApp',[]); c、 控制器(“myCtrl”,函数($scope){ $scope.data={ 计数:{ “项目1”:10, “项目2”:20, “项目4”:30 }, 项目:[{ “项目描述”:“描述1”, “项目名称”:“项目1”, },{ “项目描述”:“描述2”, “项目名称”:“项目2”, },{ “项目描述”:“描述3”, “项目名称”:“项目3”, }] } $scope.name=“演示”; $scope.getDescription=(项)=>{ const desc=$scope.data.items.find(i=>i.itemName==item); 返回desc&&desc.itemsdescription//以进行异常处理 } })
你好,普朗克!
名称
描述
计数
{{key}}
{{getDescription(key)}}
{{value}}
您必须定义一个函数,该函数将通过迭代数据项返回描述
var c=angular.module('myApp',[]);
c、 控制器(“myCtrl”,函数($scope){
$scope.data={
计数:{
“项目1”:10,
“项目2”:20,
“项目4”:30
},
项目:[{
“项目描述”:“描述1”,
“项目名称”:“项目1”,
},{
“项目描述”:“描述2”,
“项目名称”:“项目2”,
},{
“项目描述”:“描述3”,
“项目名称”:“项目3”,
}]
}
$scope.name=“演示”;
$scope.getDescription=(项)=>{
const desc=$scope.data.items.find(i=>i.itemName==item);
返回desc&&desc.itemsdescription//以进行异常处理
}
})
你好,普朗克!
名称
描述
计数
{{key}}
{{getDescription(key)}}
{{value}}
是否有理由将数据结构化为单独的计数和项目?如果以这种方式检索,则最好在检索到数据后对其进行预处理,将计数添加到匹配的data.items
数组中。如果您不想预处理数据,我建议您在items
数组上重复ng
,因为您的counts对象很容易查询
你好,普朗克!
名称
描述
计数
{{item.itemName}
{{item.itemsdescription}}
{{data.count[item.itemName]}
是否有理由将数据结构化为单独的计数和项目?如果以这种方式检索,则最好在检索到数据后对其进行预处理,将计数添加到匹配的data.items
数组中。如果您不想预处理数据,我建议您在items
数组上重复ng
,因为您的counts对象很容易查询
你好,普朗克!
名称
描述
计数
{{item.itemName}
{{item.itemsdescription}}
{{data.count[item.itemName]}
创建一个新数组,并将count
中的值放入其中。然后,ngRepeat
var c=angular.module('myApp',[]);
c、 控制器(“myCtrl”,函数($scope){
$scope.data={
计数:{
“项目1”:10,
“项目2”:20
},
项目:[{
“项目描述”:“项目描述”,
“项目名称”:“项目1”,
}, {
“项目描述”:“项目描述”,
“项目名称”:“项目2”,
}]
}
var getCountsKeys=Object.values($scope.data.count);
$scope.newArray=$scope.data.items.map(函数(元素,索引){
elem.itemVal=getCountsKeys[index]
返回元素;
})
$scope.name=“演示”
})
你好,普朗克!
名称
描述
计数
{{nw.itemName}
{{nw.itemsdescription}}
{{nw.itemVal}}
创建一个新数组,并将count
中的值放入其中。然后,ngRepeat
var c=angular.module('myApp',[]);
c、 控制器(“myCtrl”,函数($scope){
$scope.data={
计数:{
“项目1”:10,
“项目2”:20
},
项目:[{
“项目描述”:“项目描述”,
“项目名称”:“项目1”,
}, {
“项目描述”:“项目描述”,
“项目名称”:“项目2”,
}]
}
var getCountsKeys=Object.values($scope.data.count);
$scope.newArray=$scope.data.items.map(函数(元素,索引){
elem.itemVal=getCountsKeys[index]
返回元素;
})
$scope.name=“演示”
})
你好,普朗克!
名称
描述
计数
{{nw.itemName}
{{nw.itemsdescription}}
{{nw.itemVal}}
count
是一个对象,所以$index不是数字。@JeremyDentel
<td>
{{getDescription(key)}}
</td>
getDescription(key) {
const foundItem = $scope.data.items.find(item => item.itemName === key);
return foundItem ? foundItem.itemDescription : '';
}