<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <!-- 组件实例对象 --> <div id="app"> <cpn :cmovies='movies' :cmessage='message'></cpn> </div> <template id="cpn"> <div> <!-- <p>{{cmovies}}</p> --> <li v-for='item in cmovies'>{{item}}</li> <h2>{{cmessage}}</h2> </div> </template> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script> // 父传子:props const cpn = { template: '#cpn', // props: ['cmovies','cmessage'], props: { // 1.类型限制 // cmovies: Array, // cmessage: String, // 2.提供一些默认值 cmessage:{ type: String, default: 'aaa', required: true, // 加该属性则为必传值,不传报错 }, // 类型是对象或者数组时,默认值必须是一个函数 cmovies: { type: Array, // default: [] // vue 2.5.17以下 default(){ return [] } } }, data(){ return {} }, methods: { } } const app = new Vue({ el: '#app', data: { message: '你好啊', movies: ['海王', '话贼王', '七天达式' ] }, components: { cpn } }) </script> </body> </html>