加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails Vuejs Webpacker:传递实例变量数据

发布时间:2020-12-17 02:09:57 所属栏目:百科 来源:网络整理
导读:我正在尝试学习如何使用带有Vuejs的Rails 5.1构建应用程序,这是通过Webpacker gem生成的. $rails new myvueapp --webpack=vue 如何在Vue组件之间传递实例变量数据,以便将数据输入/输出数据库? 比方说,我有一个带有用户名和电子邮件字段的用户模型.是否有一
我正在尝试学习如何使用带有Vuejs的Rails 5.1构建应用程序,这是通过Webpacker gem生成的.

$rails new myvueapp --webpack=vue

如何在Vue组件之间传递实例变量数据,以便将数据输入/输出数据库?

比方说,我有一个带有用户名和电子邮件字段的用户模型.是否有一个简单的例子说明如何将实例变量@user,数据从控制器传递给组件?

我相信有两种方法可以做到这一点:

(1)在控制器中,有渲染:json => @user然后使用fetch API或Axios之类的东西来检索.vue组件中的数据.

-要么-

(2)使用类似示例的内容<%= javascript_pack_tag'hello_vue'%>与<%= content_tag ...%>一起使用在一个视图中.

当我这样做时<%= javascript_pack_tag'hello_vue'%>例如,我可以看到“Hello Vue!”来自组件“message”变量中的数据,但是我无法找到实例变量数据的示例,例如:@user数据,传入和传出Rails.

任何有关如何传递@user数据的示例都将非常感激.

谢谢.

解决方法

我不是百分百肯定你想要完成什么,但我可以想到两种方法来做到这一点.

>在表单上使用v-model.无论检索或更新任何值,都可以立即在Vue实例中使用. (例如<%= f.input:username,input_html:{'v-model':'username'}%>
>使用数据属性.假设您有一个具有@user变量的控制器.

然后在你看来,你可以做类似的事情(这可能不是100%正确,因为它只是从内存中):

<% simple_form_for @user do |f| %>
  <%= f.input :username,input_html: { id: 'user_username',data: { username: @user.username } } %>
  <%= f.input :email,input_html: { id: 'user_email',data: { email: @user.email } } %>
<% end %>

然后,您可以使用JavaScript来访问数据属性.在这些示例中,由于两者都是表单,因此最好使用v-model,但您可以将数据属性用于非表单内容.例如,我经常使用AJAX请求中使用的URI的数据属性,这些URI可能因测试站点而异.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读