我想创建一个组件再次调用它组件不起作用((
Vue.component('v-app', {
template: `
<div class="show-modal" v-show="itemPost" >
<h1>Item-Post</h1>
{{ item.userId }} <br>
{{ item.id }} <br>
{{ item.title }} <br>
{{ item.body }} <br>
</div>
`
});
let semple=new Vue({
el: '#app',
data: {
userId: '',
id: '',
title: '',
body: '',
posts: null,
item: '',
itemPost: false
},
methods: {
Puslished(){
this.posts.push({
userId:this.userId,
id:this.id,
title:this.title,
body:this.body
});
},
clickBookModal(i) {
this.itemPost = true;
this.item = this.posts[i]
},
DeleteItemPost(i) {
this.posts.splice(i, 1);
}
},
mounted() {
axios.get('https://jsonplaceholder.typicode.com/posts')
.then(response => this.posts=response.data);
}
})
.post-wrapper ul{
margin: 5px;
width: 120px;
border: 2px solid orange;
}
.post-wrapper {
display: flex;
flex-wrap: wrap;
}
<div id="app">
<input type="text" placeholder="userId" v-model="userId">
<input type="text" placeholder="id" v-model="id">
<input type="text" placeholder="title" v-model="title">
<input type="text" placeholder="body" v-model="body">
<div v-show="userId"><b>UserId</b> -{{ userId }}</div>
<div v-show="id"><b>Id</b> -{{ id }}</div>
<div v-show="title"><b>Title</b> -{{ title }}</div>
<div v-show="body"><b>Body</b> -{{ body }}</div>
<button @click="Puslished">Push in Posts</button>
<!-- SHOW ON CLICK ITEM -->
<v-app></v-app>
<!-- show -->
<div class="post-wrapper">
<ul v-for="(post, i) in posts" class="box" @click="clickBookModal(i)">
<li v-html="post.userId" class="user-id"></li>
<li v-html="post.id" class="post-id"></li>
<li v-html="post.title" class="post-title"></li>
<li v-html="post.body" class="post-body"></li>
<button @click="DeleteItemPost(i)">Delete!</button>
</ul>
</div>
</div>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
和
我使用了链接中的信息 -通过输入参数将数据传递给子组件
工作示例: