<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>scope</title>
<script type="text/javascript" src="vue.js"></script>
</head>
<body>
<div id="app">
<hd1 :lists='goods'>
<!-- 这个scope必须写在template标签上 -->
<!-- 第二步:在template标签上使用scope属性把数据拿到 -->
<template scope='a'>
{{a}}
<!-- 拿到子元素数据可以自定义样式 -->
<h2 style="color: red;">{{a.fields.title}}</h2>
</template>
</hd1>
</div>
<!-- 子组件模板 -->
<script type="text/x-template" id='hd1'>
<div>
<!-- 第一步把数据绑到slot的fields上 -->
<slot v-for='v in lists' :fields='v'></slot>
</div>
</script>
<script type="text/javascript">
//子组件
var hd1 = {
template: '#hd1',
props: ['lists']
}
// 根组件
var app = new Vue({
data: {
goods: [
{title: '苹果'},
{title: '香蕉'},
{title: '橘子'}
]
},
components: {hd1}
}).$mount('#app');
</script>
</body>
</html>
网友评论