父传子,同时支持插槽
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div id="app"> <cpn v-bind:cmovies="movies" :cmessage="message"> <button>这是插槽1</button> </cpn> </div> <template id="tp1"> <div> <h2> {{cmessage}} </h2> <!-- {{cmovies}}--> <ul> <li v-for="movie in cmovies"> {{movie}} </li> </ul> <slot></slot> </div> </template> <script src="../vue.js"></script> <script> const cpn = { template:"#tp1", //1、数组方式定义变量 // props:['cmovies'] //2、json对象方式定义变量 props:{ //类型限制 // cmovies:Array, // cmessage:String, //提供一些默认值 cmovies:{ type:Array, //对象和数组的默认值必须是函数返回值 default(){ return ["流浪地球","西游记"]; } }, cmessage:{ type:String, default:"默认标题" } }, mounted(){ console.log("子组件的消息:",this.cmovies); } } const app = new Vue({ el:'#app', components:{ cpn, }, data:{ message:"你好啊", movies:["甄嬛传","雍正王朝","妻子的浪漫旅行2"] }, methods:{}, created(){ console.log("生命周期钩子函数,Vue实例已创建") } }) </script> </body> </html>