cảm ơn vì đã đọc câu hỏi của tôi.Truyền dữ liệu từ trẻ sang phụ huynh trong Vuejs (có quá phức tạp không?)
Tôi đã đọc về nó
vuejs update parent data from child component
https://forum.vuejs.org/t/passing-data-back-to-parent/1201/2
Khái niệm này được như vậy, tôi cần phải vượt qua một đối tượng dữ liệu từ con để phụ huynh, tôi đã sử dụng $ phát ra để truyền dữ liệu đến thành phần gốc nhưng không hoạt động. Bạn có biết những gì là sai? Kiểm tra mã của tôi ở đây:
Vue.component('list-products', {
delimiters: ['[[', ']]'],
template: '#list-products-template',
props: ['products'],
data: function() {
return {
productSelected: {}
}
},
methods: {
showDetailModal: function (product) {
\t console.log('click product in child, how can i pass this product to productSelected data in parent?');
console.log(product);
this.productSelected = product;
this.$emit('clickedShowDetailModal', product);
}
}
});
var app = new Vue({
delimiters: ['[[', ']]'],
el: '#resultComponent',
data: {
listProducts: [
\t {'name':'test1',id:1},
{'name':'test2',id:2},
{'name':'test3',id:3}
],
productSelected: {}
},
methods: {
clickedShowDetailModal: function (value) {
console.log('value');
console.log(value);
this.productSelected = value;
}
}
});
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<div id="resultComponent" data-toggler=".small-up-2" class="row small-up-1">
<list-products :products="listProducts"></list-products>
</div>
<script type="text/x-template" id="list-products-template">
<div>
<div class="column column-block" v-for="(product, index) in products" :product="product" :index="index" :key="product.id">
<li class="more-benefits">
<a @click="showDetailModal(product)">Click me [[ product.name ]] and check console.log »</a>
</li>
</div>
</div>
</script>
Cảm ơn trước.
Cảm ơn bạn rất nhiều Bert, ur trả lời hoạt động! : D Bạn có thể cung cấp thêm thông tin về hướng dẫn 'nhấp-hiển thị chi tiết' không? Nguyên nhân 'tôi vẫn còn nghi ngờ về nó. – Sommer
@Sommer '@ nhấp-show-detail' là một cách ngắn gọn để nói 'v-on: click-show-detail'. Đó là cách bạn xác định trình xử lý sự kiện. Trong trường hợp này, nó gọi phương thức 'clicksShowDetailModal' khi sự kiện cháy. Xem https://vuejs.org/v2/guide/events.html#Listening-to-Events – Bert
được hiểu! Cảm ơn bạn một lần nữa! – Sommer