小编coi*_*epe的帖子

将数据从Rails视图传递到webpacker中的VueJS组件

我试图摆弄Rails 5.1的新webpacker gem以及VueJS,但无法获取我的erb视图以将数据传递给VueJS组件......

假设我有一个用户显示视图

# view/users/show.html.erb
<%= javascript_pack_tag "user-card" %>
<%= content_tag :div,
  id: "user-card",
  data: {
    username: @user.name
  } do %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

而我的javascript:

// app/javascript/packs/user-card.js
require("user-card")

// app/javascript/user-card/index.js
import Vue from 'vue/dist/vue.esm'
import UserCard from './components/UserCard'

document.addEventListener('DOMContentLoaded', () => {
  let element = document.getElementById("user-card")
  let username = element.dataset.username
  console.log(username); // => "pecpec"

  const app = new Vue({
    el: element,
    template: '<UserCard/>',
    components: { UserCard },
    data () {
      return { username }
    }
  })


// app/javascript/user-card/components/UserCard.vue
<template> …
Run Code Online (Sandbox Code Playgroud)

javascript ruby-on-rails vue.js ruby-on-rails-5.1 webpacker

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