JavaScript(vue.js) 仮引数 コールバックの処理について
初質問となります。
質問の仕方等で至らぬ点がありましたら、そちらもご教授いただけると幸いです。
vue.jsを利用してデモのECサイトを作ろうとしております。
カート機能を実装しようと思い下記サイトを参考にしました。
https://reffect.co.jp/vue/vue-js-shopping-cart-example
###わからないこと
///ソースコード2
shop.getProducts( products => this.products = products);
の第一引数にproductsを渡して、なぜ_productsをとれるのかわかりません。
getProductsの仮引数部分にproductsが入って、
setTimeout(() => products(_products), 100)
のような形で実行していることはわかるのですが、なぜこれで_productsの情報を返せるのでしょうか?
該当のソースコード1 shop.js
const _products = [ {"id": 1, "title": "iPad 4 Mini", "price": 500.01, "inventory": 2}, {"id": 2, "title": "H&M T-Shirt White", "price": 10.99, "inventory": 10}, {"id": 3, "title": "Charli XCX - Sucker CD", "price": 19.99, "inventory": 5} ] export default { getProducts (cb) { setTimeout(() => cb(_products), 100) }, buyProducts (products, cb, errorCb) { setTimeout(() => { // simulate random checkout failure. (Math.random() > 0.5 || navigator.userAgent.indexOf('PhantomJS') > -1) ? cb() : errorCb() }, 100) } }
該当のソースコード2 ProductList.vue
<script> import shop from '@/api/shop.js' export default{ data(){ return { products : [], } }, created(){ shop.getProducts( products => this.products = products); } } </script>
回答1件
あなたの回答
tips
プレビュー