3

我有一个包含数据列表的视图,并且我使用骨干stickit 进行模型绑定。

如果数据不可用,我不想显示列表元素,但如果数据可用,我需要对其进行格式化,因此我尝试了以下绑定:

'.emailItem': {
  observe: 'emailAddress',
  visible: function(viewVal, modelVal){ return !!modelVal; },
  onGet: function (val) {
    return '<span>E-mail</span><strong><a href="mailto:' + val + '">' + val + '</a></strong>';
  },
  updateMethod: 'html'
},

.emailItem 匹配元素<li class="emailItem"></li>

当我运行它时,列表元素会正确显示,但 onGet 的结果不会插入到视图中。如何visible在stickit中使用属性与客户格式的组合?

4

2 回答 2

1

我找到了一个解决方案:

'.emailItem': {
    observe: 'emailAddress',
    visible: true,
    visibleFn: function ($el, isVisible, modelAttr) {
        var value = this.model.get(modelAttr);
        $el.html('<span>Email</span><strong><a href="mailto:' + value + '">' + value + '</a></strong>');
    }
}

这工作正常,但这不是应该使用 visibleFn 的方式。请让我知道是否有更好的方法来做到这一点。

于 2013-02-21T09:31:17.110 回答
1

你使用的是什么版本的 Stickit?

我问是因为我认为这个问题可能会在 master 上解决。您可以尝试以下方法:

粘性大师

如果它不起作用,请在 github 上打开一个问题 - 我在那里非常活跃,并将深入了解这一点。

创建新问题

于 2013-02-21T13:28:04.257 回答