Vue学习笔记

Vue学习笔记

1.1、nodeJs

在安装vue之前,我们首先要在电脑上安装nodeJs,在百度上搜索nodeJs就可以下载了,其次还需要安装Visual Studio Code,这个是前端开发的工具,安装成功后即可安装vue了。

1.2、Vue的安装

vue的官网:vuejs.org

另外推荐使用v3.cn.vuejs.org

ctrl+R调出运行窗,输入cmd打开控制器终端,输入vue下载安装指令。

cnpm install -g @vue/cli

等待安装完成,在控制终端输入

vue --version

检测vue是否安装成功。

1.2.1、创建项目

打开VSCode,在盘符中创建一个文件夹用于存放项目代码,选择打开文件夹,选中创建的文件夹,打开项目后右键该项目,选择“在集成终端中打开”,在终端中输入如下指令创建vue项目:

vue create vue-demo

在这里插入图片描述

1.2.2、创建时可能遇到的问题

在创建项目时,可能会遇到创建失败并报错的情况,大致内容为“禁止运行脚本”问题,这种情况为没有权限,使用

get -ExecutionPolicy

指令查看该权限,若结果为无权限,则使用如下代码修改权限:

set -ExecutionPolicy RemoteSigned

VSC指令选择为上下键,勾选和取消为空格键,回车键确认。

在创建项目时,建议将Manually select features勾选,将Linter/Formatter取消勾选。

1.2.3、运行项目
cd vue-demo
npm run serve
1.2.4、安装vue高亮插件

在运行vue项目后,查看代码时全黑状态,可点击VSC编辑器左边栏如下的操作按钮,在输入框中输入volar,选择骷髅头样式的,下载安装即可。关闭终端为ctrl+J。

在这里插入图片描述

1.3、vue模板语言

vue的模板语言为双花括号:{ {}},项目访问路径默认为localhost:8080

assets文件用于存放静态文件,app.vue是根组件,components是组件

1.3.1、vue中变量的创建与使用

vue中通过data函数创建变量,并通过{ {变量}}的方式取值,如:

<template>
  <h3>message={
  {message}}</h3>
</template>

<script>
export default {
  name: 'HelloWorld',
  data(){
    return{
      message:"测试"
    }
  }
}
</script>
1.3.2、v-html指令

v-html指令能直接传输html标签,如下:

<template>
 <div v-html="rawhtml"></div>
</template>

<script>
export default {
  name: 'HelloWorld',
  data(){
    return{
      rawhtml:"<a href='https://www.baidu.com'>百度</a>"
    }
  }
}
</script>
1.3.3、v-bind指令

v-bind用于绑定一个或多个属性值,或者向另一个组件传递props值

<div id="app">
		<!-- 不能使用mustache语法 把imgURL直接当成字符串 在内容里面才能使用-->
		<!-- <img src="{
  {imgURL}}" alt=""> -->
		<img v-bind:src="imgURL" alt="">
		<a v-bind:href="aHref">百度一下</a>
		<a :href="aHref">百度一下</a>
	</div>

	<script src="../js/vue.js"></script>

	<script>
		const app = new Vue({
			el: '#app',
			data: {
				message: 'nihao',
				imgURL:'https://m.360buyimg.com/babel/jfs/t1/49107/14/3176/6019/5d0eea59E238562fd/2576bcda7fc37edd.jpg',
				aHref:'http://www.baiu.com'
			}
		})
	</script>

很多时候,我们希望动态的来切换class,比如:
当数据为某个状态时,字体显示红色。
当数据另一个状态时,字体显示黑色。

绑定class有两种方式:
对象语法
数组语法

对象语法动态绑定class

对象语法的含义是:class后面跟的是一个对象。

.active{
	color:red;
}

<div id="app">
	<h2 :class="active">{
  {message}}</h2>
</div>

<script>
const app = new Vue({
	el: '#app',
	data: {
		message: 'nihao',
		active:'active'
	},
}
<h2 v-bind:class="{key:value}">{
  {message}}</h2>
<h2 v-bind:class="{类名:boolean}">{
  {message}}</h2>
<h2 v-bind:class="{active:true,line:false}">{
  {message}}</h2>

boolean值为true的时候,类就被添加。
一般把boolean值放到data中

<h2 v-bind:class="{active:isActive,line:isLine}">{
  {message}}</h2> 

data: {
	message: 'nihao',
	isActive:true,
	isLine:true
},

如果过于复杂,可以放在一个methods或者computed中

<h2 v-bind:class="getClasses()">{
  {message}}</h2>
<button v-on:click="btnClick">按钮</button>

methods:{
	getClasses: function () {
		return { active: this.isActive, line: this.isLine };
	},
	btnClick:function(){
		this.isActive=!this.isActive;
	},
}

数组语法的含义是:class后面跟的是一个数组。

<h2 class="title" :class="['active','line']">{
  {message}}</h2>
<!-- 没有单引号,是变量 -->
<h2 class="title" :class="[active,line]">{
  {message}}</h2>
v-bind绑定style

我们可以利用v-bind:style来绑定一些CSS内联样式。

我们可以使用驼峰式 (camelCase) fontSize
或短横线分隔 (kebab-case,记得用单引号括起来) ‘font-size’

<h2 :style="{key:value}">{
  {message}}</h2>
<h2 :style="{属性名:属性值}">{
  {message}}</h2>
<!-- 如果不加单引号,则是变量 -->
<h2 :style="{fontSize:'50px'}">{
  {message}}</h2>
<h2 :style="{fontSize:finalSize,color:finalColor}">{
  {message}}</h2>
<h2 :style="getStyles()">{
  {message}}</h2>

data: {
	message: 'nihao',
	finalSize:'100px',
	finalColor:'red'
},
methods:{
	getStyles:function(){
		return { fontSize: this.finalSize, color: this.finalColor }
	}
}

v-bind :id可改写为:id=“XXXX”

1.3.4、js表达式

vue支持使用表达式的方式,如

{
  {num+1}}
{
  {flag?"正确":"错误"}}
{
  {message.split("").revuerse().join("")}}

注意,表达式中只能绑定单个表达式!

1.4、渲染

1.4.1、条件渲染

所谓条件渲染,就是vue可用于做条件处理的方法,如v-if,v-show等,v-if在渲染页面时,若不为true,整个组件会被删除,而v-show则不是ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

甜甜圈的小饼干

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值