Vue.js 未设置数据对象数组中声明的属性
2019-07-24
56
我是 vue.js 新手,我想创建一些产品卡片,这些卡片将通过 vue.js 动态设置其属性:
这是我的 HTML 代码片段:
<div id="app">
<card v-for= "products in product" :productname="product.productname"></card>
</div>
这是我的 vue.js 模板/组件代码:
Vue.component('card', {
props: [`productname`, `oldPrice`, `productPrice`, `productdetails`, `imgsrc`],
template: `
<div class="card">
<div class="card-img-top">
<img :src="imgsrc">
</div>
<div class="card-body">
<h2>{{productname}}</h2>
<p>{{productdetails}}.</p>
<h6 class="product-price"><span class="old-price">{{oldPrice}} </span>{{productPrice}}</h6>
<div class="rating">
<span class="fa fa-star"></span>
<span class="fa fa-star"></span>
<span class="fa fa-star"></span>
<span class="fa fa-star"></span>
<span class="fa fa-star-half"></span>
<span class="fa fa-star-o"></span>
</div>
</div>
</div>`
})
这是我的 vue 实例:
new Vue({
el: " #app",
data: {
product: [{
imgsrc: 'img/41IP6IopkBL.jpg',
productname: "Pinar Wine top",
productdetails: 'Lorem ipsum dolor sit amet, consectetur ',
productPrice: '$200',
oldPrice: '$400'
}, {
imgsrc: 'img/41IP6IopkBL.jpg',
productname: 'Pinar Wine top',
productdetails: 'Lorem ipsum dolor sit amet, consectetur',
productprice: '$200',
oldprice: '$400'
}]
但它只是显示卡片,属性(例如产品名称、价格等)未显示。我做错了什么?
1个回答
命名在开发中非常重要,以免对所写的内容感到困惑。看看你的代码。
特别是这里
<card v-for= "products in product" :productname="product.productname"></card>
^-- wrong naming here
你正在访问
product.productname
,但你想访问
products.productname
。正如我所说,命名很重要。你可以更改 product 和 products 的命名。
Aer0
2019-07-24