Ember.Select </option>中<option>中的动态绑定

时间:2012-05-15 21:14:08

标签: ember.js multi-select

如果你看一下我简短的问题历史,在浪费人们的时间之前,我似乎已经建立了一个声称,可以提出简单的问题,我应该找出自己的答案。有了这个,虽然我真的很难过,我会非常感谢一些帮助,所以这里... ...

  1. 我有一个多选列表(最终将使用jquery插件使其漂亮)将根据一些用户标准填充(在我的示例中,选项是硬编码的,但一个例子是13岁应该'能够在我的游戏商店中看到评级为“成熟”的游戏。
  2. 基于一些搜索条件(假设我们按发布商搜索,特定国家/地区可用的游戏等)。每个多选项目的计数应随着搜索条件的变化而更新,并且计数会发生变化。 (在我的例子中,我只是用计时器更改一个值)
  3. 这是小提琴,http://jsfiddle.net/AMPBb/1/

    似乎有几种方法可以解决这个问题,比如我的SelectListItem上的countBinding和一个displayText计算属性,但我实际上无法完成一个工作示例。第一个具有更改计数的选项是非常 hackerish,但演示了我期望的功能。我之前没有遇到这样的例子,所以我很想知道解决这个问题的最佳方法应该是什么。

    提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我会在label上创建一个计算属性App.SelectListItem,其定义如下,请参阅http://jsfiddle.net/pangratz666/Y6467/

label: function() {
    var text = this.get('text');
    var value = this.get('value');
    return '%@ (%@)'.fmt(text, value);
}.property('text', 'value').cacheable()

另请注意,您必须在App.SelectListItem中为“App.CountModel。*”创建一个valueBinding。

关于命名约定的另一件事:具体实例应该在lowerCase中命名,所以它是App.countModel。请参阅http://www.emberist.com/2012/04/09/naming-conventions.html