0

こちらのソリューションに従って、ドラッグ アンド ドロップをサポートするビューを作成しました。現在、独自のコンテンツに基づいて各ビューのドラッグ画像を設定しようとしています。私が問題を抱えているコードの一部のコーヒースクリプトは次のとおりです。

App.BlockView = Ember.View.extend(App.Draggable, {
  classNames: ['block'],
  mouseDown: ->
    console.log "clicked on #{@get 'elementId'} block and thumbnail is #{@get 'block.thumbnail'}" #this works
  ,
  dragIconElement: Em.View.create({
    attributeBindings: ['src'],
    tagName: 'img',
    #src: @get 'block.thumbnail', #this does not work
    src: @get 'parentView.block.thumbnail', #this does not work either
  }).createElement().get('element')
  ...
})

ご覧のとおり、この解決策を試しましたが、うまくいきませんでした。上記の両方の場合に発生するエラーは次のとおりです。

TypeError: this.get is not a function
src: this.get('parentView.block.thumbnail')

私は Ember 1.0pre1 を使用しています。ここで親レベルのスコープにアクセスする方法がわかりません。おそらく、ここに欠けている基本的なものがあります。どんな助けでも大歓迎です。

4

1 に答える 1

0

createElementこれはatsrc: @get 'parentView.block.thumbnail'のせいではなくthis、現在のビューを指していません(ウィンドウオブジェクトを参照していると思いますが、コードによって異なります)。計算されたプロパティとして使用することをお勧めします。

src: (->
  @get 'parentView.block.thumbnail'
).property()
于 2012-11-29T20:20:58.810 に答える