Vue之语法总结

导读:本篇文章讲解 Vue之语法总结,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

前言
        vue的语法小结,比较杂乱,尽量写的能看懂叭。

.vue文件结构

        vue文件有三块内容:1、html代码块。2、script代码块。3、css代码块。
        其中有几个重中之重的点要注意:

  • html代码块: 在template标签下只能由一个根标签。
    如下所示:
<template>
    <div>
			<!--所有内容都要在根div下写,否则会报错-->
	</div>
</template>
  • script代码块 : 这块内容主要看参看vue的生命周期,注意:特别强调,在script里一定要用this访问变量和自定义函数
<template>
	<div>
			<!--使用注册过的head组件-->
			<head></head>
	</div>
</template>
<script>
//导入head组件,这里我就引个例子,主要用来说明components如何使用
import head from '../../components/head.vue'

export default{
	name:'Home',
	components:{ head },//用来注册组件,如head组件
	props:{//组件传值时会用到
		// 检测类型
    	height: Number,//传值时,需要传个Number类型的值
   		// 检测类型 + 其他验证
	    age: {
	      type: Number,
	      default: 0,
	      required: true,//设置成必传
	    }
	},
	data(){
		return {
			//定义该页面的属性,我把它当作Java里的声明变量来用,
			//在此定义的变量只允许在此vue页面使用
			pageNumb:1//页码
		}
	},
	computed:{//计算变量,其格式为一个函数,函数名为变量名,如:page
		page(){//计算page
			this.pageNumb++;//注意:特别强调,在script里一定要用this访问变量和自定义函数
			return "第"+this.pageNumb+"页"
		}
	},
	//几个生命周期相关的狗子函数
	beforeCreate(){//钩子函数
		//引用官网的话说是:
		//在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。
		//我猜是上面data和事件(监听watch事件等)之前会被调用叭
		
	},
	created(){//钩子函数
		//在实例创建完成后被立即调用。
		//在这一步,实例已完成以下的配置:数据观测 (data observer),			property 和方法的运算,
		//watch/event 事件回调。然而,挂载阶段还没开始,$el property 目前尚不可用。
		
	}beforeMounted(){//钩子函数
		//在挂载开始之前被调用:相关的 render 函数首次被调用。
	},
	mounted(){//钩子函数
		//实例被挂载后调用,
	}beforeUpdate(){//钩子函数
		//数据更新时调用,这里适合在更新之前访问现有的 DOM,比如手动移除已添加的事件监听器。
	},
	update(){//钩子函数
		//由于数据更改导致的虚拟 DOM 重新渲染,在这之后会调用该钩子。
		//当这个钩子被调用时,组件 DOM 已经更新,所以你现在可以执行依赖于 DOM 的操作。
		//然而在大多数情况下,你应该避免在此期间更改状态。如果要相应状态改变,
		//通常最好使用计算属性或 watcher 取而代之。
		//我想这里应该只适合来用变量等,不适合做修改,可能是因为视图已经渲染完毕,你改的话
		//也不会显示。
	}//其他生命周期函数可以参考官网,这里我只说一些可能会用到的
	methods:{
		//正儿八经的自定义函数,且函数不用以function开头,直接写函数名即可,
		//函数与函数之间用逗号相隔
		toLogin(){
			//点击登录时调用。。。。。。自定义的哈
		}toRegister(){
			//注册时调用
		}
	},
	watch:{//监听事件
		//这里主要用来监听一些变量有何变化
		//以函数的形式,函数名为变量名,有两个参数,一个是新变量名,一个是旧变量名
		pageNumb(newValue,oldValue){//参数对应变化后的值、变化前的值
			//当pageNumb发生改变时触发该函数。
		},
	}
}
</script>

        其中用到最多的就是components、computed、data、methods、mounted

  • components : 注册组件,然后既可以在html代码块里添加该组件,添加方法就是把组件名当作标签来用即可。
  • computed :计算变量,然后返回。
  • data : 声明变量,全局使用
  • methods : 函数区,专门写自定义函数滴~
  • mounted : 用来在DOM(数据)渲染前加载函数,可以当作页面初始化来用。
  • props : 用于组件中的传参

props组件传参

        在vue中,页面可能会用到组件这个东西,组件说白了就是个页面中的一个零件,可大可小,可以传参,
在这里插入图片描述
        具体传值如下:

<!--home.vue页面-->
<template>
	<div>
			<!--使用组件,给head组件传递一个参数 htitle,参数名自定义-->
			<!-- :title是组件的props的属性,props有什么属性,你就可以传什么值-->
			<head :title="htitle"></head>
	</div>
</temlpate>
<script>
	//先引入组件
	import head from '../../compontends/head.vue'
	export default{
		name:'home',
		compontends:{head},//再注册组件。相当于声明组件
		data(){
			return{
				htitle:'home的页面'
			}
		}
	}
</script>
<!--head.vue组件-->
<template>
	<!--在{{}}里写表达式-->
	<h1>{{title}}</h1>
</template>
<script>
	export default{
		name:'head',
		props:{
			title:{
				type: String,
				default: 'home'
			}
		}
	}
</script>

指令

        vue的指令有很多,使用在html代码块儿里。所有的指令如下:v-text、v-html、v-showv-ifv-elsev-else-ifv-for、v-on、v-bindv-model、v-solt、v-pre、v-cloak、v-once;(注:常用标黄)具体使用方法。

<!--示例-->
<template>
	<div>
		<input type="text" v-model="username"/>
		<span>{{username}}</span>
		<ul>
			<li v-for="(item,index) in 10" v-bind:key="index">{{item}}</li>
		</ul>
		<span v-text>v-text</span>
		<div v-if="">v-if</div>
		<div v-else="">v-else</div>
		<div v-else-if="">v-else-if</div>
		<div v-show="true">v-show</div>
		<!--绑定-->
		<button v-bind:onclick='a()'></button>
		<!--绑定缩写形式-->
		<button @click="">按钮</button>
	</div>
</template>
<script>
	export default{
		name:'',
		data:()=>({
			username:''
		})
	}
</script>

特殊属性

        在html代码块里,标签可以拥有特殊属性,所有特殊属性如下:keyref、is、solt、solt-scope、scope,(注:常用标黄)具体使用方法。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/11709.html

(0)
小半的头像小半

相关推荐

极客之家——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!