vue 重学笔记(1) data,computed,watch,method基础属性

在学习vue之前,我们安装2个开发工具和1个插件,

  • 1.HBuilder X 编辑器
    在这里插入图片描述
  • 2.chrome浏览器
    在这里插入图片描述
  • 3.vue.js devtools
    在这里插入图片描述
    vue.js devtools是chrome浏览器里一个插件,需要我们在chrome网上应用店里面安装。

安装完成后,打开chrome浏览器的调试工具就会找到它。安装此插件会在我们开发vue项目的时候有比较好的开发提示和修复项目的debug,我们将会在往后的学习中更加详细的演示。
在这里插入图片描述
接下来,让我们深入认识认识vue

1.如何在页面引入vue.js

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

我们可以在我们的页面中加入上面的脚本代码,那么,就可以帮助我们引入vue.js了。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		//在此处添加
		<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
	</head>
	<body>
	  
	</body>
	
</html>

2.如何获取到vue实例

  • 2.1在使用vue之前,我们需要给整个页面最外层的那个盒子的id属性为“app”属性值。
	<body>
	//在此处增加
	    <div id="app">			
		</div>

	</body>
  • 2.2 获取Vue实例
    接下来,我们需要实例化Vue的对象。
	<body>
	    <div id="app">
			
		</div>
		
		//此处添加
	   <script type="text/javascript">
	      let vm=new Vue({
			  el:'#app'
		  });  
	   </script>
	</body>

我们使用vm变量来存储Vue的实例化对象,右边通过new来给Vue创建一个新的对象,Vue()构造函数中传入一个对象参数,el属性是帮助我们确定页面中某个元素被转换为Vue的实例。此处,我们把页面中id属性为app的div元素转换成Vue实例了。我们可以通过页面调试可以观察此时的效果。
在这里插入图片描述

从效果图中可以看到,vm作为Vue的实例化对象,这个对象会有很多属性跟方法,这些属性我们后期会详细讲解,对于获取属性跟方法,我们可以通过’.'来获取。

举例子:获取对象的子元素
> vm.$children

3.如何实现数据双向绑定

在vue框架中,我们的数据存放在哪里?如何把vue框架里面的数据显示在页面上,这些都是需要我们解决的。

3.1我们可以把数据放在vue 实例vm对象的$data属性中。
example

	   <script type="text/javascript">
	      let vm=new Vue({
			  el:'#app',
			  // 此处增加
			  data:{
				  msg:'我要努力学习vue'
			  }
		  });
		  
	   </script>

3.2 通过插值{{}}获取变量值
example

    <div id="app">
			<!-- 此处增加 -->
			{{msg}}
		</div>

在这里插入图片描述
我们可以把两组花括号{{}}叫做插值。插值不仅仅可以存放变量,还可以对里面的变量增加编辑后再显示。

小结:插值里面可以放什么

  • 1.:变量
    {{msg}}
  • 2.表达式
    {{msg+1}} {{msg==2? msg=‘true’ : msg:‘false’}}
  • 3.函数
    {{msg.split()}} {{ (function(){ return ‘hello world’})() }}

3.3如何修改变量值
vue是支持数据的双向绑定,如何理解数据的双向绑定。

  • 1.我们可以把数据放在data属性中
  • 2.我们可以通过vm实例改变data中的数据。
vm.$data.msg="我不喜欢vue"

在这里插入图片描述
注意:vm. d a t a . m s g 相 当 于 v m . m s g , data.msg 相当于 vm.msg, data.msgvm.msgdata是可以省略不写的。
在这里插入图片描述

4.vue 计算属性

很多时候,我们都需要对原始数据进行处理后再显示在页面上,比如,在价格的后面加上单位。

这时,我们可以在插值内加入单位即可

	{{msg+'元'}}

但是,对于比较复杂的计算我们不建议把他们存放在插值内,如函数。我们一般会使用vue实例中的计算属性computed。

	      let vm=new Vue({
			  el:'#app',
		
			  data:{
				  msg:'我要努力学习vue'
			  },
			  //此处增加
			  computed:{
				
			  }
		  });

例子:
在这里插入图片描述
代码解析:计算属性是一个对象,对象里面放置很多中方法,我们在这里定义一个commgs函数来处理msg数据。我们可以通过vm.msg获取到实例中的msg数据,vm在这里我们可以使用this代替。注意,更改msg数据后一定要记得返回,否则页面上将渲染失败。还有一点就是页面上的插值内直接写上函数名即可。

扩展:如何在不破坏原有数据下通过计算属性更改数据。
解决方法:使用一个局部变量复制原有数据值。
注意:数据与对象不适用,后面会详说

例子:

 commsg:function(){
		let msg=this.msg+='勤做练习';
		return this.msg
				  }

问题:computed计算属性什么时候触发
当数据改变的时候,会动态刷新。

5.vue监听属性 watch

当一个值发生变化的时候,我们想改变另一个数据的值或者想做出一些什么反应,比如弹出对话框。这时,我们就可以使用到watch属性了。

5.1 如何使用watch属性
例子:
在这里插入图片描述

注意:
watch属性可以监听一个值的变化,但是不能监听数据或者对象里面具体的属性值的变化。后面详解。

深度监听

watch: {
               //tel 是data() 里面的数据tel,newVal是tel变化后的值,oldVal是tel变化前的值
					    isRise: {
					        handler(newVal, oldVal) {
					            console.log(newVal,oldVal)
					            if(newVal<0){
					                      this.isRise = false
					            }else{
					                      this.isRise = true
					            }
					        },
					        // deep属性对对象进行深度监听
					        deep: true,
					        // 这样使用watch时有一个特点,就是当值第一次绑定的时候,不会执行监听函数,只有值        发生改变才会执行。
					        // 如果我们需要在最初绑定值的时候也执行函数,则就需要用到immediate属性。比如当父组件向子组件动态传值时,子组件props首次获取到父组件传来的默认值时,也需要执行函数,此时就需要将immediate设为true。
					        immediate: true
					    }
					},

6.vue方法属性method

计算属性以及监听属性的触发条件是值发生变化的时候会重新触发,而接下来我们要认识是由用户主动触发的方法属性,method。
在这里插入图片描述

注意:methods 是Vue 实例的方法属性。可以直接通过 VM 实例访问methods里的方法,也可以在指令表达式中使用。方法中的 this 自动绑定为 Vue 实例。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值