angular - Angular:是否可以在循环模板内创建变量?
问题描述
我的模板中有一个 *ngFor,我想在每个项目上调用一个函数。该函数返回一个包含三个值的对象,我想在模板中显示这些值。现在的问题是我调用该函数三次以显示对象的所有属性。
我想要做的是将结果绑定到一个变量,这样我就可以使用该变量而不是调用该函数 3 次。所以我想要实现的是以下内容:
var lists = [['a', 'b', 'c'], ['k', 'd', 't']];
function addx(letters){
return {
'item1': letters[0] + 'x',
'item2': letters[1] + 'x',
'item3': letters[2] + 'x',
}
}
for(var i=0; i<lists.length; i++){
var a = addx(lists[i])
console.log(a.item1);
console.log(a.item2);
console.log(a.item3);
}
解决方案
也许我还没有完全理解你想要什么,但不是一个简单的“地图”吗?具体来说
let newList = lists.map(addx);
您可以将其newList
用于您的 ngFor
var lists = [['a', 'b', 'c'], ['k', 'd', 't']];
function addx(letters){
return {
'item1': letters[0] + 'x',
'item2': letters[1] + 'x',
'item3': letters[2] + 'x',
}
}
var newList = lists.map(addx);
console.log(newList);
推荐阅读
- informatica - 从 informatica 调用存储的包
- anaconda - 如何找出橙色数据集中列中的唯一值和唯一值的数量?
- react-native - 运行测试时反应原生 customBubblingEventTypes 错误
- sql - 遍历表中的所有值并检查是否有任何值是日期时间类型,然后更改其格式
- java - 返回(不打印)字符串 Java 的所有排列
- dart - 相当于 Dart 中的 Java System.arraycopy?
- javascript - 谷歌地图 api 和 javascript 的新功能 - 切换 json 数据/图层
- angular - NGRX Effects + AngularFire 中的错误处理
- javascript - 潜在的无限循环:超过 10001 次迭代
- ios - 我可以使用 SecItemUpdate 更新 kSecAttrApplicationTag 吗?