Vue提供了JSX bind的方式,讓我們在編寫組件時(shí)擁有了更大的靈活性。
export default { props: { message: String }, render() { return{this.message}} }
在上面的代碼中,我們使用了JSX語法創(chuàng)建了一個(gè)組件,并使用了props來接收父組件傳遞的message參數(shù)。在render函數(shù)中,我們通過this.message來獲取props中的數(shù)據(jù),并將其渲染到div元素中。
接下來我們可以使用v-bind來綁定動(dòng)態(tài)值:
export default { props: { message: String, isBold: Boolean }, render() { return{this.message}} }
在上面的代碼中,我們添加了一個(gè)新的props參數(shù)isBold,并在render函數(shù)中使用了v-bind來動(dòng)態(tài)地綁定class。當(dāng)isBold為true時(shí),會(huì)給div元素添加bold類,從而達(dá)到了樣式的修改。
除了class之外,我們還可以使用v-bind來綁定其他屬性,比如style、src等。下面我們用一個(gè)例子說明:
export default { props: { imgUrl: String, imgWidth: Number, imgHeight: Number }, render() { return} }
在上面的代碼中,我們使用v-bind來綁定了src和style屬性,其中style需要使用對象的方式傳遞多個(gè)屬性。當(dāng)父組件傳遞imgUrl、imgWidth、imgHeight時(shí),會(huì)根據(jù)數(shù)據(jù)動(dòng)態(tài)地設(shè)置img的src和style屬性。