VueJS通过渲染传递数据

Ale*_*nat 9 html javascript render vue.js

我目前正在使用VueJS 2,我想将一些params从HTML传递给VueJS组件.让我演示给你看.

我的Html Div看起来像这样:

<div id="app" :id="1"></div>
Run Code Online (Sandbox Code Playgroud)

而我的javascript:

new Vue({
  store, // inject store to all children
  el: '#app',
  render: h => h(App)
});
Run Code Online (Sandbox Code Playgroud)

我的应用组件:

<template>
  <div>
    {{ id }}
  </div>
</template>
<script>
export default {
  props: {
   id: Number
  }
}
</script>
Run Code Online (Sandbox Code Playgroud)

我想在我的App组件中获取Html中传递的id.我应该怎么做 ?

Ber*_*ert 6

这是一种方式.

<div id="app" data-initial-value="125"></div>

new Vue({
  el: '#app',
  render: h => h(App, {
    props:{
      id: document.querySelector("#app").dataset.initialValue
    }
  })
})
Run Code Online (Sandbox Code Playgroud)

但是您不必使用渲染功能.

new Vue({
  el: '#app',
  template:"<app :id='id'></app>",
  data:{
    id: document.querySelector("#app").dataset.initialValue
  },
  components:{
    App
  }
})
Run Code Online (Sandbox Code Playgroud)

另外,我querySelector假设您将页面呈现initialValue(而不是id)作为属性,但您可以像在隐藏输入或其他内容一样轻松地将其放在页面上的其他位置.真的无所谓.