访问& lt; select>onChange在木偶ItemView

Access <select> onChange in Marionette ItemView

本文关键字:ItemView lt select 访问 onChange      更新时间:2023-09-26

我有一个像这样的木偶ItemView:

List.Chart = Backbone.Marionette.ItemView.extend({
    template: "#chart-template",
    className: "block container-fluid first",
    onRender: function () {
      // Do a few things
    },
});

模板有一个<select id="filter">标记,其中有几个选项。当用户单击<select>标签并且发生更改时,我想访问它的值。我刚认识木偶。我尝试了几种方法,但都没有得到价值。谢谢。

你不会想在你的木偶视图中重写渲染,相反,你应该利用onRender

http://marionettejs.com/docs/marionette.itemview.html渲染——onrender事件

只要知道用户何时点击或更改了输入,您就会想要利用事件散列。http://marionettejs.com/docs/marionette.view.html viewevent

实际上来自backbone

所以它看起来像这样:

List.Chart = Backbone.Marionette.ItemView.extend({
    template: "#chart-template",
    className: "block container-fluid first",
    events: {
      "click #filter": "doSomething",
      "change #filter": "doSomething"
    },
    doSomething: function() {}
});
对于额外的点,你应该DRY事件绑定,并利用@ui插值的骨干。木偶送你免费
List.Chart = Backbone.Marionette.ItemView.extend({
    template: "#chart-template",
    className: "block container-fluid first",
    ui: {
      "filter": "#filter"
    },
    events: {
      "click @ui.filter": "doSomething",
      "change @ui.filter": "doSomething"
    }
});