Ale*_*ber 10 jquery-ui ember.js
我正在努力使用jQuery.ui将Ember.js创建的列表排序.
控制器看起来像这样:
App.ThingyController = Ember.ArrayController.create
content: [
{ name: 'Item1' },
{ name: 'Item2' }
]
Run Code Online (Sandbox Code Playgroud)
和这样的模板:
<script type="text/x-handlebars">
{{#collection contentBinding="App.ThingyController" tagName="ul" id="sortable"}}
{{content.name}}
{{/collection}}
</script>
Run Code Online (Sandbox Code Playgroud)
我的问题是:
我最好在ul"#sortable"上调用sortable()函数?控制器上是否有事件以及我可以使用的呈现HTML元素的句柄?
如何将jQuery.ui回调连接到Ember.js控制器?比如说,通过ajax将更新的列表发送到服务器?
所有这一切都可以绕过Ember.js抽象,但我想以"正确的方式"来做.
或者整个概念是否有缺陷,Ember.js提供了一个没有jQuery.ui的"可排序"功能?
您可以实现Em.View#didInsertElement [1],您可以确保创建dom元素并将其插入到正文中.这将是你调用$ .sortable的地方:
App.MySortableView = Em.CollectionView.extend({
tagName: "ul",
didInsertElement: function() {
this.$().sortable()
}
})
Run Code Online (Sandbox Code Playgroud)
模板:
{{#collection "App.MySortableView" ...}}
...
{{/collection}}
Run Code Online (Sandbox Code Playgroud)
(我没有尝试这个代码,但我不明白为什么它不应该工作......)
[1] https://github.com/emberjs/ember.js/blob/master/packages/ember-views/lib/views/view.js#L738
归档时间: |
|
查看次数: |
4159 次 |
最近记录: |