私はVueが新しく、他の下位コンポーネントに依存する一連のビジネスコンポーネントを構築し、それらにプロパティを渡そうとしています。 propName = "xxx"または:propName = "xxx"のような通常のデータバインディングv-bindはコンポーネントテンプレートの内部では動作しませんが、すべてのドキュメントでは、あるコンポーネントから別のコンポーネントへVueJS - テンプレート内のあるコンポーネントから別のコンポーネントへプロパティを渡す
たとえば、以下では、 "title"プロパティを取る "exchange-panel"という低レベルコンポーネントがあります。私は、上位レベルのコンポーネントが汎用交換パネルを使用し、使用するタイトルを渡すようにします。 I次のエラーを取得する:ここで
[Vue warn]: Error compiling template:
<exchange-panel :title="The Panel Title">
<h1>test</h1>
</exchange-panel>
- invalid expression: :title="The Panel Title"
found in
---> <OrderbookDetail>
は、サンプル・コードである(またhttps://jsfiddle.net/ns1km8fh/
Vue.component("orderbook-detail", {
template:`
<exchange-panel :title="Public order book">
<h1>test</h1>
</exchange-panel>
`
});
Vue.component("exchange-panel", {
template:`
<div class="panel panel-default">
<div class="panel-heading">Title: {{ title }}</div>
<div class="panel-body">
<slot></slot>
</div>
</div>`,
props: ["title"]
})
new Vue({
el: "#exchange-container",
created: function() {
window.Vue = this
}
})
の前にコロンを削除するか、「title」の前にコロンを削除してください。そうすれば、それは解釈されたものではなくリテラルの小道具です。 –
@RoyJ真。更新しました。 – Bert
「属性はJavaScript式として扱われています」という欠点がありました。その修正は完全に機能しました。ありがとうございました –