小编use*_*171的帖子

ItemView触发器是否会冒泡?

我有一个表的CompositeView.我在子行ItemView中为每一行设置了触发器...

var TableRow = Marionette.ItemView.extend({
    tagName: "tr",
    template: _.template($(TableTemplates).filter('#tableRow').html()),
    triggers: {
        "click td": "click:td"
    }
});
Run Code Online (Sandbox Code Playgroud)

触发器是否应该冒泡到父CompositeView?

来自文档 ......

访问这些[触发事件的视图的视图,模型和集合属性]可以更灵活地处理来自多个视图的事件.例如,选项卡控件或展开/折叠小部件(例如面板栏)可以从许多不同的视图触发相同的事件,并使用单个函数进行处理.

"单个函数"不会在父CompositeView中,以便它可以对来自其任何子ItemView的触发器做出反应吗?CompositeView如何监听ItemView触发器?

谢谢

marionette

8
推荐指数
1
解决办法
6401
查看次数

在与服务器同步之前是否存在等效的解析?

在我的骨干模型中,我解析了服务器的响应:

var MyModel = Backbone.Model.extend({
    urlRoot: "/users",
    parse: function(response){
        var data = {};
        data.id = reponse.userDetails.id;
        data.name = response.userDetails.firstname + " " + response.userDetails.lastname;
        data.description = response.userDetails.description;

        return data;
    }
});

var myModel = new MyModel({id: 1});
myModel.fetch();
Run Code Online (Sandbox Code Playgroud)

使用此模型的视图可以操纵它,例如,如果用户单击视图以"选择"它,它将更新模型...

myModel.set({selected: true});
Run Code Online (Sandbox Code Playgroud)

...并且视图将根据模型的更改事件重新渲染,并突出显示"已选择"的用户.

在将模型保存到服务器时,如何仅发送服务器所需的属性?并忽略通过用户交互添加的属性.

要么

数据模型是否应始终反映服务器返回的内容?如果是这样,是否有更好的方式来存储用户交互(视图是否"选中")?它应该是一个单独的模型而不是实际的数据模型吗?

谢谢

backbone.js

3
推荐指数
1
解决办法
1198
查看次数

标签 统计

backbone.js ×1

marionette ×1