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

这不是因为createElementat src: @get 'parentView.block.thumbnail',这里this不指向当前视图(我猜它是指窗口对象,取决于你的代码),最好将它用作计算属性

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