【问题标题】:How to conditionally display client-side data with Aurelia如何使用 Aurelia 有条件地显示客户端数据
【发布时间】:2016-07-12 06:40:22
【问题描述】:

Aurelia 中是否有办法说“如果 x == this,则显示 this”?

To be specific, I have an array of data that looks something like this:
[
     {objectID: 1, customDataArray: [1,2,3,4], customDataType: { cdt: "Troops" }}
]

这个数组显然有多行,看起来像上面的那一行,它向我传递了一个我需要引用的自定义值数组。这些值可能是我们系统中不同“组”的 ID。这就是为什么我们要传入一个包含自定义数据的type 的对象。例如“部队”

所以在激活时发生了什么,我从我的 API 中获取所有这些数据并将其存储在一个变量中。好吧,根据自定义数据类型是“部队”还是其他类型,我想显示不同的输入标签。例如,如果是“部队”,我想显示一个标签,上面写着“输入部队 id”等等。

另外,有时 customDataType 不是必需的,因此它以 null 形式出现。所以在那种情况下,我想展示一些不同的东西。不知道如何处理这个..

【问题讨论】:

    标签: aurelia


    【解决方案1】:

    if 自定义属性或show 自定义属性可以工作。很遗憾,我们没有 switchelse 类型的设置。

    <label if.bind="p.customDataType.cdt === 'Troops'">Input Troop Ids</label>
    <label if.bind="p.customDataType.cdt !== 'Troops'">Something Different</label>
    

    【讨论】:

    • 完美。不知道您可以通过 if.bind 绑定获得那么深!再次感谢
    【解决方案2】:

    如果if.bind对此有用,你可以试试,如下:

      <ul>
        <li repeat.for="obj of data"  if.bind="obj.customDataType">
          <span>${obj.customDataType.cdt}</span> - 
          <strong repeat.for="cda of obj.customDataArray">${cda}, </strong>
        </li>
        <li repeat.for="obj of data"  if.bind="!obj.customDataType">
          <span>No CustomDataType</span>
          <strong repeat.for="cda of obj.customDataArray">${cda}, </strong>
        </li>
      </ul>
    

    这是一个展示这一点的 plunker:https://gist.run/?id=21991c490810a4acf2e38cec99614bbd

    【讨论】:

      猜你喜欢
      • 2016-05-16
      • 2012-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-31
      • 2016-05-15
      相关资源
      最近更新 更多