我继续丶 2021-09-24 23:52 采纳率: 75%
浏览 64
已结题

调用vue组件时怎么传入数据

做的一个页面中有很多重复的块,块的样式相同,主要代码也一样,但是图片、价格、详情等都不一样,怎么实现调用组件时传入图片价格等信息,求解答。

<div id="app">
            <button-counter></button-counter>
            <button-counter></button-counter>
        </div>
        <template id="test">
            <div class="products">
                <div class="image_1">
                    <a href="#" class="p_link">
                        <img src="{{image_link}}" >
                    </a>
                </div>
                <div class="info_1">
                    <a href="#" class="p_link">
                    <font style="color: black;">{{bookName}}</font><br>
                    </a>
                    <font style="color: darkred;">惊喜价:¥{{newPrice}}</font><br>
                    <font style="color: gray; font-size: calc(14px);">市场价:¥
                    <font style="text-decoration: line-through;">{{oldPrice}}</font>
                    </font>
                </div>
            </div>
        </template>
        <script src="../js/vue.js"></script>
        <script>
            //  组件注册
            Vue.component('button-counter', {
                data (name, nPrice, oPrice) {
                    return {
                        image_link: "../image/bookimage/It'samiracle.jpg",
                        bookName: name,
                        newPrice: nPrice,
                        oldPrice: oPrice
                    }
                },
                template: '#test',
                methods: {
                    handle: function() {
                        this.count++;
                    }
                }
            });
            //创建Vue实例,得到 ViewModel
            var vm = new Vue({
                el: '#app',
                data: {},
                methods: {}
            });
        </script>


  • 写回答

4条回答 默认 最新

  • 你好!机器人 2021-09-25 10:10
    关注

    父组件把图片价格等这个json传给子组件,子组件用props接收,如:

    <!--父组件调用子组件-->
    <child-component :productData="商品属性对象"/>
    
    <!--子组件接收数据-->
     props: {
          productData: {
            type: Object,
            default: {}
          }
        },
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月28日
  • 已采纳回答 9月27日
  • 创建了问题 9月24日