2017-04-04 157 views
2

當我嘗試將道具傳遞給.vue文件中的HTML元素屬性時,它們只停止渲染。我究竟做錯了什麼?下面的代碼:將道具傳遞給Vue組件中的元素屬性

的script.js

import hInput from './components/hInput.vue' 
Vue.component('h-input', hInput); 
const app = new Vue({ 
    el: '#head', 
}); 

的index.php

<div id="head"> 
    <h1>{{config('app.name')}}</h1> 
    <h-input placeholder="Hi" name="hello"></h-input> 
</div> 

hInput.vue

<template> 
    <div> 
     <input type="text" placeholder="{{placeholder}}"> 
    </div> 
</template> 

<script> 
    export default { 
     props: ['placeholder', 'name'] 
    }; 
</script> 

回答

3

使用binding syntax,而不是文本插值。

<template> 
    <div> 
     <input type="text" v-bind:placeholder="placeholder"> 
    </div> 
</template> 

還有一個簡寫。

<template> 
    <div> 
     <input type="text" :placeholder="placeholder"> 
    </div> 
</template> 
+0

乾杯。你能告訴我如何在這個.vue文件中使用外部插件嗎?特別是vee-validate,我使用了Vue.use(VeeValidate),它直接在組件文件之外工作,但不在裏面。我以某種方式導入它? – Mav

+0

@Mav我相信'script.js'中的'Vue.use(VeeValidate)'應該*使它在單個文件組件中可用。你在哪裏打電話? – Bert

+0

啊,它是可用的,我犯了一個錯字,謝謝你:D – Mav

相關問題