1.main.js 里 new Vuex.store
2.挂载 到 实例(这样 其他组件就可以 取到 store 里的数据)
3.state 里 建立了一个 car对象,里面有 商品id、价格、数量、选中状态
同时 在GoodsInfo.vue 商品信息 这个组件 里 我也创建了 具备这些信息的 goodsInfo 对象
4.store 里 mutations 有 加入购物车addTocar(state, goodsinfo)、从购物车 中 删除removeFromCar、更改购物车中 商品数量(state, id)、updateGoodsInfo(state, goodsinfo)这些方法
5.举例说明 GoodsInfo.vue 里
GoodsInfo 组件里 调用 mutations 里的方法 用this.$store.commit('addTocar', goodsInfo);
用 this.$store.commit()来调用 第一个参数是 mutations里的 方法名,第二个是 GoodsInfo 要穿过去的 商品信息
6.将 购物车里 商品 id 和 goodsinfo 里商品id 进行匹配,一旦找到,就 对数据进行 操作
6.这个是对 mutations 里方法 的调用 mutaitions
App.vue 主界面的布局 组件 ,通过 $store.getters.xxx 方法名 来 获取到 state中car的count 信息
getters 和 computed的相似之处、和 filters 的相似之处
…………
问题:
1.切换 页签的时候 没有蓝色的高亮
在 router.js 里 路由对象(var router = new VueRouter({}))有个 属性 是linkActiveClass 用自己创建的 高亮的类 覆盖 默认路由 高亮的类
这个 自己创建的类 写在 App。vue <style>中
2.拓展图标
mui里没有 购物车 这个图标
然后 自己到 icon-extra文件下去找 在main.js里 不光导入 mui.min.css 还要导入 icons-extra.css
但是 这个时候 还是不行 查了官方文档才知道 还需要把它依赖的 字体图标文件 'mui-icons-extra.ttf' 放到 fonts 目录下
3.获取 评论数据 到 页面中
当我 点击“加载更多” 想获取过往的评论时 发现之前的评论都没有了
这个 装评论信息 的定义的 comments数组
仔细 检查接收 数据的那行代码 this.comments=result.body.message
相当于 每次获取到 信息时 都用新的 覆盖 原来的,所以 之前评论 都没了
用了concat 改成 this.comments = this.comments.concat(result.body.message); 就成功了