USECASE: 我从一个涉及大量客户端脚本的项目开始。它类似于迷你 CMS,用户可以在其中 拖放 html 组件。有点类似于 this 。现在,我必须选择一个 MVC 框架来定义用户将要处理的组件。 (执行拖动、调整大小、删除等操作)。

现在我面临的 问题 是,选择一个易于 学习和实现 的框架。我有 Javascript 和 jQuery 的基本知识,并且已经使用了一段时间,但没有使用 MVC 的经验。

我过去 2 天的研究表明 Backbone .js 是一个很好的开始,但我想对它在处理 html 组件和 DOM 元素方面提供的灵活性提出意见/建议。如何存储 HTML 组件的初始内容? (外箱和结构)。

另外,我如何处理相同类型的多个组件?动态生成 Id 是一种选择,但是管理具有动态 id 的多个元素变得很困难。有没有其他方法可以处理它们?

哪个框架可以轻松处理这些组件上的事件?

最佳答案

我将主干用于涉及拖放的 Web 应用程序,并且我使用 jquery ui 来实现拖放功能。例如,当您想要实现可放置的主干 View 时,它们与 imo 集成得非常好

render: function(){
    var $el = this.$el,
        over = false,
        origWidth;


       if (!this.$el.is('.ui-sortable'))
            this.$el.sortable({
                revert: false,
                axis: 'y',
                placeholder: 'placeholder',
                items: '.load-order',
                containment: this.el,
                receive: this.onOrderDrop,
                over: this.onOrderOver
                out: function(e, ui){
                    // Resize back to original width
                    if (over && ui.helper)
                        ui.helper.stop().animate({width: origWidth}, 'fast');
                    over = false;
                }

更新:

使用主干 View ,您有一个框架 html 结构,然后随主干 View 递增。
每个 View 都有一个使用模型数据呈现的模板
你可以在 Backbone Essentials 阅读更多关于它的信息

我还做了一个小的 todolist 来演示带有主干的可拖动事件

http://www.github.com/joaoxsouls/todolist

关于javascript - 为拖放界面选择 Javascript MVC 框架,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13761981/

10-11 23:27
查看更多