• 计算属性


    1.计算属性 vs 方法

    将计算属性的get函数定义为一个方法也可以实现类似的功能
    区别:
        a.计算属性是基于它的依赖进行更新的,只有在相关依赖发生改变时才能更新变化
        b.计算属性是缓存的,只要相关依赖没有改变,多次访问计算属性得到的值是之前缓存的计算结果,不会多次执行
    

    2. get和set

    计算属性由两部分组成:get和set,分别用来获取计算属性和设置计算属性
    默认只有get,如果需要set,要自己添加
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>计算属性</title>
    	<script src="js/vue.js"></script>
    </head>
    <body>
    	<div id="itany">
    		<!-- 
    			1.基本用法
    		 -->
    		 <h2>{{msg}}</h2>
    		 <h2>{{msg2}}</h2>
    
    		 <!-- 对数据处理再显示 -->
    		 <h2>{{msg.split(' ').reverse().join(' ')}}</h2>
    		 <h2>{{reverseMsg}}</h2>
    		 <button @click="change">修改值</button>
    
    		<!-- 
    			2.计算属性 vs 方法
    		 -->
    		<!--  <h2>{{num1}}</h2>
    		<h2>{{num2}}</h2>
    		<h2>{{getNum2()}}</h2> -->
    
    		 <button onclick="fn()">测试</button>
    		
    		<!-- 
    			3.get和set
    		 -->
    		 <h2>{{num2}}</h2>
    		 <button @click="change2">修改计算属性</button>
    
    
    	</div>
    
    
    	<script>
    		var vm=new Vue({
    			el:'#itany',
    			data:{ //普通属性
    				msg:'welcome to itany',
    				num1:8
    			},
    			computed:{ //计算属性
    				msg2:function(){ //该函数必须有返回值,用来获取属性,称为get函数
    					return '欢迎来到南京网博';
    				},
    				reverseMsg:function(){
    					//可以包含逻辑处理操作,同时reverseMsg依赖于msg
    					return this.msg.split(' ').reverse().join(' ');
    				},
    				num2:{
    					get:function(){
    						console.log('num2:'+new Date());
    						return this.num1-1;
    					},
    					set:function(val){
    						// console.log('修改num2值');
    						// this.num2=val;
    						this.num1=111;
    					}
    				}
    			},
    			methods:{
    				change(){
    					// this.msg='i love you';
    					this.num1=666;
    				},
    				getNum2(){
    					console.log(new Date());
    					return this.num1-1;
    				},
    				change2(){
    					this.num2=111;
    				}
    			}
    			
    		});
    
    		function fn(){
    			setInterval(function(){
    				// console.log(vm.num2);
    				console.log(vm.getNum2());
    			},1000);
    		}
    	</script>
    	
    
    </body>
    </html>
    
  • 相关阅读:
    2019-2020-2 20175227张雪莹《网络对抗技术》 Exp3 免杀原理与实践
    2019-2020-2 20175227张雪莹《网络对抗技术》 Exp2 后门原理与实践
    2019-2020-2 20175227张雪莹《网络对抗技术》 Exp1 PC平台逆向破解
    USCOSII
    office word excel等图标显示异常
    Mysql事务
    Mysql 主备配置
    查看mysql已有用户并删除
    在linux下面安装mysql 确认 配置文件路径 my.cnf
    yum提示Another app is currently holding the yum lock; waiting for it to exit...
  • 原文地址:https://www.cnblogs.com/wspblog/p/9871928.html
Copyright © 2020-2023  润新知