私は、単一のファイルコンポーネントheader.vue
があります。私はVue.jsの単一ファイルコンポーネントにデータを渡すには?
const Header = require('components/header.vue');
を次のように私のコードでそれを必要とし、それを呼び出す
<template>
<h1>{{text}}</h1>
</template>
<script>
export default {
data() {
return {
text: 'Header text',
};
},
};
</script>
を:
const header = new Vue({
el: '#header',
data: {
text: 'New header text',
},
render: h => h(Header),
});
コンポーネントがレンダリングされますが、テキストはNew header text
の代わりにHeader text
と表示されます。どうして?
私はあなたが動的に他のコンポーネントなどによってヘッダのタイトルを設定するとしますか?あなたは何をしたいのですか? –
Headerコンポーネントを子としてレンダリングする新しいVueコンポーネントを作成しています。親コンポーネントからのデータは、このようにして子のデータに影響を与えません。 Headerコンポーネントを 'Vue.extend()'して、オーバーライドされたdataプロパティで* that *をインスタンス化することができます。 –
@DecadeMoonしたがって、 'const Header = Vue.extend(require( 'components/header。新しいヘッダー({el:...、data:{...}}); '、そうですか?これはうまくいきますが、インポートが少し変わって見えます。これは本当に必要ですか? – Mikko