vue第八周上午第二次课

computed 计算属性

  • 当计算属性依赖的数据发生变化时,这个属性的值也会自动更新
  • 每个计算属性都包含一个 getter 和 setter
  • 默认使用 getter 来读取数据
  • 执行 Setter,当手动更新计算属性的值,就会触发 setter

结账小票前端代码

<div id="app">
			<div class="container">
				<div class="row">
					<div class=";col-4">商品名称</div>
					<div class=";col-3">单价</div>
					<div class=";col-2">数量</div>
					<div class=";col-3">价格</div>
				</div>
				<div class="row" v-for="item in products">
					<div class="col-4">{{item.name}}</div>
					<div class="col-3">{{item.price | two}}</div>
					<div class="col-2">{{item.count}}</div>
					<div class="col-3">{{item.price*item.count | two}}</div>
				</div>
			</div>
			<p>总价:{{newstr}}</p>
		</div>

结账小票代码

<script>
			var vm01 = new Vue({
				el:"#app",
				data:{
					products:[
						{name:"血糖",price:12.1,count:3},
						{name:"旺仔",price:3,count:6},
						{name:"饼干",price:12.23,count:4}
					]
				},
				// 计算属性
				computed:{
					newstr:function(s){
						var total = 0
						this.products.forEach(function(s){
							total += (s.price*s.count)
						})
						return total
					},
				},
				// 局部过滤器
				filters:{
					two:function(value){
						return value.toFixed(2)
					}
				}
			})
<script>

computed 计算属性的 getter 和 setter

var vm02 = new Vue({
				el:".box",
				data:{
					firstName:"徐",
					lastName:"君选",
					msg:"",
					time:"当前时间"
				},
				computed:{
					fullName:{
						// getter
						get:function(){
							return this.firstName+this.lastName
						},
						// setter
						set:function(value){
							this.firstName = value.substr(0,1)
							this.lastName = value.substr(1)
						}
					},
					getCurrentTimeC:function(){
						var h = new Date().getHours()
						var m = new Date().getMinutes()
						var s = new Date().getSeconds()
						return this.time+h+"小时"+m+"分钟"+s+"秒"
					}
				},
				methods:{
					getCurrentTime:function(){
						var h = new Date().getHours()
						var m = new Date().getMinutes()
						var s = new Date().getSeconds()
						return this.time+h+"小时"+m+"分钟"+s+"秒"
					}
				}
			})
			vm02.fullName = "成统统";

watch (监听器)

人民币转卢布

var vm04 = new Vue({
				el:".box4",
				data:{
					rmb:0,
					lubu:0,
					rate:14.1618
				},
				watch:{
					rmb:function(val){
						this.lubu = val * this.rate
					},
					lubu:function(val){
						this.rmb = val / this.rate
					}
				},
				filters:{
					fournum:function(val){
						return val.toFixed(4)
					}
				}
			})

统计鼠标点击按钮次数

统计鼠标点击按钮次数
鼠标改变图片透明度
图片透明度

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值