如何将输入文本值或数据从一个视图发送到另一个视图?

how to send input text value or data one view to another view?

你能告诉我如何将数据从一个视图发送到另一个视图吗?实际上我的主屏幕上有一个输入字段和按钮。我想通过按钮将输入文本的数据从一个屏幕发送到另一个屏幕单击。我想将输入字段的文本从一个视图发送到另一个视图。我可以通过单击按钮将一个屏幕移动到另一个屏幕,但我无法在另一个屏幕上发送输入文本

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

 events: {
         'click #click':'moveTonext'
        },

       moveTonext: function(){
          new Router().navigate('secondView', { trigger: true });
        },

为此,您需要从 .moveToNext() 函数实例化 SecondView,并提供必要的参数:

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

您还需要更新第二个视图以向模板提供模型的属性:

// second.js
render: function(){
    this.$el.html(this.template(this.model.toJSON()));
},

以及模板本身:

// second.html
<h1>Value from previous page: <%- value %></h1>

这是更新后的 Plunker sample

编辑

同样可以使用参数化路由实现:

// router.js
routes: {
    'secondView(/:msg)': 'secondView'
},

secondView: function(msg) {
  new SecondView({ model: new Backbone.Model({ value: msg || '' }) });
}

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

这是一个Plunker