Vue购物车和地址选配

项目代码地址Vue购物车地址选配

应注意的点

  • for循环中嵌套for
 <li v-for="(item,index) in productList">
    <div class="item-include">
        <dl>
           <dt>赠送:</dt>
           <dd v-for="part in item.parts" v-text="part.partsName"></dd>
        </dl>
    </div>
 </li>
  • mounted
  mounted: function() {
  //钩子函数
  //cartView函数要执行,须先执行钩子函数
  //完成对cratView函数的调用
  //使用mounted 并不能保证钩子函数中的 this.$el 在 document 中。为此还应该引入            
       this.$nextTick(function () {
          this.cartView() 
      })
   })
  },
  methods: {
  //这个是要执行的函数
      cartView: function() {
          // do something
        });
      }
      }
    }
  • computed与methods的区别

定义:我们可以将同一函数定义为一个 method 而不是一个计算属性。对于最终的结果,两种方式确实是相同的。然而,不同的是计算属性是基于它们的依赖进行缓存的。计算属性只有在它的相关依赖发生改变时才会重新求值。

我的理解:computed依赖缓存,如果不需要经常变动的用computed,需要经常变动的用methods。
另外一种情况,如果你需要传参数,就用methods。

  • filter过滤器

Vue.js 允许你自定义过滤器,可被用作一些常见的文本格式化。过滤器可以用在两个地方:mustache 插值和 v-bind 表达式。过滤器应该被添加在 JavaScript 表达式的尾部,由“管道”符指示:

<!-- in mustaches -->
{{ message | capitalize }}
<!-- in v-bind -->
<div v-bind:id="rawId | formatId"></div>

filter分全局注册和局部注册

// 局部注册
filters: {
    formatMoney: function(value) {
        return '¥ ' + value.toFixed(2);
    }
},
// 全局注册
Vue.filter('my-filter', function (value) {
// 返回处理后的值
})

过滤器可以串联

{{ message | filterA | filterB }}

在这个例子中,filterA 被定义为接收单个参数的过滤器函数,表达式 message 的值将作为参数传入到函数中,然后继续调用同样被定义为接收单个参数的过滤器函数 filterB,将 filterA 的结果传递到 filterB 中。

接受参数

{{ message | filterA('arg1', arg2) }}

这里,filterA 被定义为接收三个参数的过滤器函数。其中 message 的值作为第一个参数,普通字符串 ‘arg1’ 作为第二个参数,表达式 arg2 取值后的值作为第三个参数。

其它问题

  • $.ajax cache:ie8下的缓存问题
  • javascript的数字都是双精度浮点数,当心浮点运算中的精度缺陷
  • 判断对象的属性是否存在
this.productList.forEach(function(item,index) {
    if (typeof item.checked == 'undefined') {
       // 添加属性,全局:vm.set()
         _this.$set(item, 'checked', _this.checkAllFlag);
    } else {
         item.checked = _this.checkAllFlag;
    }     
});

组件template

组件在注册之后,便可以在父实例的模块中以自定义元素 的形式使用。要确保在初始化根实例之前注册了组件:

// 注册
Vue.component('my-component', {
  template: '<div>A custom component!</div>'
})
// 创建根实例
new Vue({
  el: '#example'
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值