반응형
for 루프의 현재 항목을 vue.js 2의 메서드에 전달하려면 어떻게 해야 합니까?
vue.js 2에서 (연습으로) 쇼핑 카트를 만들고 있습니다.vue 데이터 배열에 상점 아이템과 주문 아이템을 저장하고 각 상점 아이템에 대해 for 루프에 버튼을 표시하여 주문에 아이템을 추가합니다(푸시 등).
다음은 vue 데이터에 있는 상점 배열의 항목 목록을 저장하는 코드 섹션입니다.
<fieldset>
<legend>Shop</legend>
<section v-if="shop">
<article v-for="(item, index) in shop">
<header><h1>{{ item.title }}</h1></header>
<p>{{ item.description }}</p>
<footer>
<ul>
<li>${{item.price}}</li>
<!-- find a way to set input name -->
<li><label>Quantity <input type="number" name=""></label></li>
<li><button v-on:click="addItemToOrder($event)">Add to Order</button></li>
</ul>
</footer>
</article>
</section>
<p v-else>No Items to Display</p>
</fieldset>
vue 요소는 다음과 같습니다.
new Vue({
el: '#my-order',
data:{
'shop':[
{
'title':'Website Content',
'description':"Order your Website content by the page. Our search-engine-optimized web content puts you ahead of the competition. 250 words.",
'price':25,
'sku':'web001'
},
{
'title':'Blog Post',
'description':"We write blog posts that position your website as a go-to resource for expert knowlegde.",
'price':50,
'sku':'blog001'
},
{
'title':'Twitter Post'
},
{
'title':'Product Description'
}
],
'customizations':null,
'order':{
'items':null,
'total':null
},
'customer':null,
'payment':null
},
methods:{
addItemToOrder: function(){
/* Here is where I need to append the item to the cart */
}
}
})
이 아이템을 전달하려면 어떻게 해야 하나요?for
오더에 루프(예: add it to order.disply)
그냥 통과만 하면 돼item
함수에 대한 파라미터로 지정합니다.
v-on:click="addItemToOrder(item)"
그런 다음 Vue 컴포넌트를 사용할 수 있습니다.
addItemToOrder: function(item){
this.order.items.push(item);
}
반드시 초기화해 주세요.order.items
컴포넌트 내의 빈 어레이로 이행합니다.data
밀어붙일 수 있게 말이야
'order':{
'items': [],
'total': 0
},
일반적으로 데이터를 올바른 데이터 유형으로 초기화하는 것이 좋습니다.
좀 늦은 건 알지만 혹시라도 누군가 이 일을 겪게 되면...
이벤트도 통과해야 하고 아이템도 통과해야 합니다.
vue 코드로
someMethod : function(e, item){}
html에서
<a v-on:click="someMethod($event, $data)"></a>
언급URL : https://stackoverflow.com/questions/42913031/how-do-i-pass-the-current-item-in-a-for-loop-to-a-method-in-vue-js-2
반응형
'programing' 카테고리의 다른 글
Nuxt.js에서 Vuetify 중단점이 작동하지 않음 (0) | 2022.08.11 |
---|---|
호출하지 않고 실행 중인 계산 함수 (0) | 2022.08.11 |
HttpClient를 사용한 Java에서의 Http Basic 인증 (0) | 2022.08.11 |
현재 루트/URL에 다이내믹 브레드 크럼 컴포넌트 베이스를 구축하려면 어떻게 해야 합니까? (0) | 2022.08.11 |
Vue3에서 어레이 타입의 프로펠러 재렌더링 회피 (0) | 2022.08.11 |