例外行为是:当用户将问题转移到其他两个问题之间的orden变化时
在编写视图Encuesta.View.Pregunta
之前,已经实现了切换问题的行为,并且控制器方法mvPregunta
正常工作,可以在numero
之间更改两个问题之间的位置。
Encuesta.View.Pregunta
切换时问题被切换但是视图不会改变 时,新视图mvPregunta
@Encuesta.View.reopen
Pregunta: Em.View.extend
tagName: 'span'
editMode: false,
attributeBindings: 'draggable',
draggable: 'true'
doubleClick: (ev) ->
@set 'editMode', true
dragStart: (ev) ->
data = ev.originalEvent.dataTransfer
data.setData 'numero', @get 'content.numero'
dragEnter: (ev) ->
ev.preventDefault()
return false;
dragOver: (ev) ->
ev.preventDefault()
return false;
drop: (ev) ->
numero = ev.originalEvent.dataTransfer.getData 'numero'
if numero isnt @get 'content.numero'
App.get('router.myController').mvPregunta numero, @get 'content.numero'
ev.preventDefault()
return false;
PreguntaTextField: Em.TextField.extend
editModeBinding: 'parentView.editMode'
didInsertElement: ->
@$().focus()
insertNewline: ->
@set 'editMode', false
focusOut: (ev) ->
@set 'editMode', false
{{#each item in controller.items}}
<li>
{{#view Encuesta.View.Pregunta
contentBinding="pregunta"}}
{{#if view.editMode}}
{{view Encuesta.View.PreguntaTextField
valueBinding="view.content.texto"}}
{{else}}
{{view.content.texto}}
{{/if}}
{{/view}}
</li>
{{/each}}