【问题标题】:Nested curly braces/data bindings嵌套花括号/数据绑定
【发布时间】:2017-02-27 06:58:17
【问题描述】:

我正在为我的应用程序使用 Angular2。在我的 html 中,我有一个像这样的 *ngFor:

<div *ngFor="let element of array">
   {{element.id}}
</div>

然后我有一个这样的对象数组:

someData: [{element.id: 511}, {element.id : 123}] 
//Just some data in the values, nothing special

我现在需要的是嵌套这两个数据绑定,实际上我找不到任何好的建议。

我想要的是这样的:

<div *ngFor="let element of array">
      {{element.id}}
   <p>{{someData[{{element.id}}]}} </p>
</div>

所以我的问题是这是否可能以及如何实现。或者,如果您有任何建议以不同的方式实现相同的目标,我也很想听听。 唯一的问题是,我无法更改我的任何数组,因为我需要“someData”中的“element.id”属性来了解哪些值与另一个值一起使用。 到目前为止谢谢!

【问题讨论】:

    标签: html angular data-binding


    【解决方案1】:

    只需删除内部的{{}} 就可以了。

    {{}} 中的所有内容都被解释为表达式,只是不需要在另一对中添加{{}},它也是无效的。

    【讨论】:

    • someData 也是一个数组。所以它需要循环
    • 循环实现什么?如果你想循环,你可以添加*ngFor&lt;p&gt;
    • 这实际上不起作用,因为 someData[element.id] 不显示任何内容。我不知道我是否已经足够清楚了.. 每个 element.id 都是 someData 的属性,我想显示每个值。我想它更像是 {{someData[X].(element.id)}},如果你知道我想说什么的话。
    • 我不知道你希望{{}} 做什么。 {{}} 只是执行其中的代码并将代码的结果转换为字符串。 {{}} 不执行任何循环或类似操作。
    • 我对编程很陌生,所以我的期望非常有限。 :D 根据我现在的理解,我觉得@Poonam 是对的,我还需要遍历 someData,因为每个具有 element.id 属性的对象都是其中的一个元素。我稍微重建了我的 someData,使其成为一个具有每个 element.id 作为属性的对象,现在它可以按我的意愿工作了。
    猜你喜欢
    • 1970-01-01
    • 2017-01-15
    • 1970-01-01
    • 1970-01-01
    • 2013-06-30
    • 2021-10-13
    • 2013-04-21
    • 2013-09-15
    • 1970-01-01
    相关资源
    最近更新 更多