html Props vue.js将数据从Vue.app根传递给子Ninja.vue
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html Props vue.js将数据从Vue.app根传递给子Ninja.vue相关的知识,希望对你有一定的参考价值。
<template>
<div>
<app-header v-bind:title="title" v-on:changeTitle="updateTitle($event)"></app-header>
<app-ninjas v-bind:ninjas="ninjas"></app-ninjas>
<ul>
<li v-for="ninja in ninjas">{{ ninja.name }}</li>
</ul>
<app-footer v-bind:title="title"></app-footer>
</div>
</template>
<script>
// Imports
import Header from './components/Header.vue';
import Footer from './components/Footer.vue';
import Ninjas from './components/Ninjas.vue';
export default {
components: {
'app-header': Header,
'app-footer': Footer,
'app-ninjas': Ninjas
},
data () {
return {
ninjas: [
{name: 'Ryu', speciality: 'Vue Components', show: false},
{name: 'Crystal', speciality: 'HTML Wizardry', show: false},
{name: 'Hitoshi', speciality: 'Click Events', show: false},
{name: 'Tango', speciality: 'Conditionals', show: false},
{name: 'Kami', speciality: 'Webpack', show: false},
{name: 'Yoshi', speciality: 'Data Diggin', show: false}
],
title: 'Vue Wizards'
}
},
methods: {
updateTitle: function(updatedTitle){
this.title = updatedTitle;
}
}
}
</script>
<style>
body{
margin: 0;
font-family: 'Nunito SemiBold';
}
</style>
<!--child component Ninjas -->
<template>
<div id="ninjas">
<ul>
<li v-for="ninja in ninjas" v-on:click="ninja.show = !ninja.show">
<h2>{{ ninja.name }}</h2>
<h3 v-show="ninja.show">{{ ninja.speciality }}</h3>
</li>
</ul>
<button v-on:click="deleteNinja">Delete a Ninja</button>
</div>
</template>
<script>
export default {
props: {
ninjas: {
type: Array,
required: true
}
},
data(){
return{
}
},
methods: {
deleteNinja: function(){
this.ninjas.pop();
}
}
}
</script>
<style scoped>
#ninjas{
width: 100%;
max-width: 1200px;
margin: 40px auto;
padding: 0 20px;
box-sizing: border-box;
}
ul{
display: flex;
flex-wrap: wrap;
list-style-type: none;
padding: 0;
}
li{
flex-grow: 1;
flex-basis: 300px;
text-align: center;
padding: 30px;
border: 1px solid #222;
margin: 10px;
}
</style>
以上是关于html Props vue.js将数据从Vue.app根传递给子Ninja.vue的主要内容,如果未能解决你的问题,请参考以下文章
Vue js将HTML按钮名称属性作为PROPS传递
使用 Vue JS 从不同的路由发送 props 到同一个组件
Vue.js 递归组件的数据,包括 props
Vue js 从 axios 只显示一次 props
初学Vue.js:props
从 Vue.js 中的 props 传递和绑定 img src