5

私はこのようなコンポーネントを持っていて、それにいくつかの属性を設定したい:

OlapApp.ItemRowsComponent = Ember.Component.extend({
tagName: 'li',
classNameBindings: ['currentItem.isMeasure:d_measure:d_dimension'],
didInsertElement: function() {
    this.$().draggable({

    });
},
actions: {
    removeItem: function(item) {
        item.deleteRecord();
        item.save();
    },
    didClick: function(item) {
        if (item.get('isMeasure')) {
            item.deleteRecord();
            item.save();
        }
    }
}
});

そして、私はこのコンポーネントを次のように呼び出します:

{{#each item in getRowItem}}
 {{item-rows currentItem=item}}
{{/each}}

item には id プロパティがあり、item.idこの id をコンポーネントの data-id に設定して、次のような要素を作成します。

<li data-id='id of item'>Some text</li>
4

3 に答える 3

5

あなたのアプローチは実際に機能しますか?私はそれがそのように機能するべきではなく、むしろ次のようにすべきだと思います:

OlapApp.ItemRowsComponent = Ember.Component.extend({
  attributeBindings:["data-id"],
  "data-id" : Ember.computed.oneWay("currentItem.id")
  // and the rest of your code ...
});

ちょっとした補足: jquery ロジックを正しく実行する方法に関する私のブログ投稿をチェックしてください: http://mavilein.github.io/javascript/2013/08/01/Ember-JS-After-Render-Event/

于 2013-09-23T08:04:50.410 に答える
2

検索して何らかの方法を試した後、私はそれを見つけました。私の問題を解決するためにこれを使用しています:

attributeBindings:['getId:data-id'],
getId:function(){return this.get('currentItem.id')}.property(),
于 2013-09-23T07:25:06.043 に答える