Vue父页面向子页面传值

父页面通过v-bind 命令,将数据绑定在子页面调用时

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<template>
<div id="app">
<h1>rdgd</h1>
<appheader></appheader>
// 在这里将数据绑定到子页面

<users v-bind:theuser="theuser"></users>
<appfooter></appfooter>
</div>
</template>

<script>
import Users from './components/Users';
import appheader from './components/Header'
import footer from './components/footer'

export default {
name: 'App',
data(){
return {
title:"这是我的第一个vue程序",
// 这是需要绑定的数据

theuser:[{name:"zhangsan",position:"java开发",show:false},
{name:"zhangsan",position:"java开发",show:false},
{name:"zhangsan",position:"java开发",show:false},
{name:"zhangsan",position:"java开发",show:false}]
}

},
// 这里不能使用 p div 等html元素名称
components:{
"appheader":appheader,
"appfooter":footer,
"users":Users
}
}
</script>

子页面通过props属性访问

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<template>
<div class="users">
<h1>Hello Users</h1>
<ul>
<li v-for="user in theuser" @click="user.show = !user.show">
<h2>{{user.name}}</h2>
<h3 v-show="user.show">{{user.position}}</h3>
</li>
</ul>
</div>
</template>

<script>
export default {
name: 'users',
// 这种方法不推荐
// props:['theuser'],
// 这是官方推荐的写法
props:{
theuser:{
type:Array,
required:true
}
},
data () {
return {

}
}
}
</script>
作者

Bruce Liu

发布于

2018-11-05

更新于

2022-11-12

许可协议

You need to set install_url to use ShareThis. Please set it in _config.yml.
You forgot to set the business or currency_code for Paypal. Please set it in _config.yml.

评论

You forgot to set the shortname for Disqus. Please set it in _config.yml.