ember.js - 如何突出显示选定的地址?

标签 ember.js ember-data ember-cli

如果用户单击 li 条目,则会触发 useThisAddress 操作,该操作会在 address 中设置 isSelected > 对象为true。从那里 bind-attr 负责设置适当的类(即“border-black”)。

这是解决这个问题的正确方法吗?或者有更好的方法吗?

下面的代码有效。但是,我对将 address 对象上的 isSelected 设置为 true 有点不确定,因为它不是 中的真实属性>地址对象模型。

// Controller
import Ember from 'ember';

export default Ember.Controller.extend({
  active: null,

  actions: {
    useThisAddress: function(address) {
      address.set('isSelected', true);
      var active = this.get('active');
      if (active) {
        active.set('isSelected', false);
      }
      this.set('active', address);
    }
  }
})

// Template
<ul>
  {{#each address in model}}
    <li {{bind-attr class='address.isSelected:border-black'}} {{action 'useThisAddress' address}}>
      Address: {{address.address1}} {{address.address2}}, {{address.city}}, {{address.postalCode}}
    </li>
  {{/each}}
</ul>

最佳答案

按照建议here您可以在 Controller 中存储一个包含所选项目的单独列表。

关于ember.js - 如何突出显示选定的地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29277083/

相关文章:

ruby-on-rails-4 - Ember-cli 实现自定义序列化器

ember.js - 在路由中使用 store.query 时通过 websocket 添加新数据

ember.js - 如何避免过多的空记录?

javascript - Ember CLI - 未捕获错误 : Could not find module ember?

ember.js - Ember-CLI:有没有办法将(供应商)目录复制到/public/assets?

javascript - 如何刷新 Ember 中的 Controller 属性?

javascript - 使用动态生成的对象数组填充 ember-power-select 时,无法将对象转换为 Array.toString( native )的原始值

ember-cli - 如何访问 ember-cli 应用程序中的全局对象

ember.js - 防止 View 重新渲染

wordpress - 使用 Wordpress 和 JSON REST API 插件设置 Ember-Data DS.RESTadapter