javascript – Ember.js和jQuery可排序.如何解决变形脚本

前端之家收集整理的这篇文章主要介绍了javascript – Ember.js和jQuery可排序.如何解决变形脚本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个ember.js应用程序,我想使用 jquery ui的可排序的小部件.我的看法看起来像
<ul id="sort-container">
{{#each content}}
    <li>{{title}}</li>
{{/each}}
</ul>

排序工作正常,直到其中一个绑定需要更新.问题是每个< li>被ember臭名昭着的变态< script>标签.查看此图像中生成的实际DOM

有没有一个简单的方法让这两个玩得很好?

有没有办法强迫观点重绘?在可排除的停用事件被触发后,我可以很容易地实现.

解决方法

在我看来,使用Ember.CollectionView可以解决这个问题.所以我试了一下似乎工作: http://jsfiddle.net/8ahjd/

车把:

<script type="text/x-handlebars">
  {{view App.JQuerySortableView content=model}}
  <a {{action removeItem}}>Remove Second Item</a>
</script>

<script type="text/x-handlebars" data-template-name='jquery-sortable-item'>
  {{view.content.title}}
</script>

JavaScript的:

App = Ember.Application.create();

App.ApplicationController = Ember.ArrayController.extend({
  removeItem: function() {
    this.removeAt(1);        
  }            
});

App.ApplicationRoute = Ember.Route.extend({
  model: function() {
    return [
      {id: 1,title:'Test 1'},{id: 2,title:'Test 2'},{id: 3,title:'Test 3'}
    ];
  }
});

App.JQuerySortableItemView = Ember.View.extend({
    templateName: 'jquery-sortable-item'        
});

App.JQuerySortableView = Ember.CollectionView.extend({
    tagName: 'ul',itemViewClass: App.JQuerySortableItemView,didInsertElement: function(){
        this._super();
        this.$().sortable().disableSelection();
    }
});

猜你在找的jQuery相关文章