如何在另一个视图中发送输入文本值?

时间:2015-10-08 08:12:24

标签: javascript backbone.js requirejs backbone-events backbone-routing

我正在尝试使用路由将数据从一个视图发送到另一个视图。我需要使用路由将输入字段值从一个屏幕发送到另一个屏幕。换句话说,我有一个输入字段和按钮。单击按钮我需要使用路由

在另一个屏幕上发送输入字段值

这是我的代码 http://plnkr.co/edit/pl0C88Ksf5Y8YiSnLxSZ?p=preview

点击按钮,我确实喜欢这个

  moveTonext: function(){
         // new SecondView({ model: new Backbone.Model({ value: this.$("input").val()}) });

         new Router().navigate('secondView/'+this.$("input").val(), { trigger: true });

       },
关于路由的

我喜欢这个

secondView: function(inputtext) {
          alert(inputtext+"---");
          new SecondView();
        }

但在那之后我得到了错误 无法读取属性' toJSON'未定义的

1 个答案:

答案 0 :(得分:0)

您需要将模型传递给SecondView对象的构造函数。否则,对this.$el.html(this.template(this.model.toJSON()));的调用将失败(在SecondView.render中)。

router.js

secondView: function(inputtext) {
    // create or find somemodel and then:
    new SecondView({model: somemodel});
}