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 の結果がビューに挿入されません。visiblestickit で属性と顧客の書式設定を組み合わせて使用​​するにはどうすればよいですか?

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 を使用していますか?

この問題はマスターで修正される可能性があると思うので、私は尋ねます。次のことを試してみてください:

スティックイットマスター

うまくいかない場合は、github で問題を開いてください。

新しい問題を作成する

于 2013-02-21T13:28:04.257 に答える