前端发展+Vue初识+插值+指令+ES6补充

10.24内容整理和概述

今日内容概要

内容目录

  • 前端发展介绍
  • Vue初识
  • Vue初次使用解析
  • 插值语法
  • 指令系统
  • ES6补充

前端发展介绍

发展历史:
	1.前后端混合开发,前端数据由后端模板语法生成		# HTML(5)、CSS(3)、JavaScript(ES5、ES6)
	2.Ajax的出现:后台发送异步请求,Render+Ajax混合
	3.单用Ajax项目:前后端分离的雏形
	4.Angular框架(JS框架)的出现:出现了“前端工程化”的概念
	5.更见完善和便利的前端框架出现:React框架(外国人,大厂喜欢用),Vue框架(国人喜欢用)

当下主流前端框架:
	1.vue
	2.react
	3.uni-app

Vue初识

Vue框架:是一套用于构建用户界面的渐进式框架		# 渐进式框架:支持项目部分使用,也支持全工程使用

Vue相关开发工具:
	1.vscode:微软免费的轻量级编辑器
	2.vim:需要装插件		# 不推荐
	3.webstorm:Jetbrains系列产品,好东西;需要付费
	4.AndroidStadio:Jetbrains出厂,被谷歌买了版权,暂时免费
	5.Pycharm:也需要装插件

架构解析:
	1.MTV:django的架构		# MVC的演变
	2.MVC:后端框架基础架构
	3.MVVM:前端框架使用		# vue使用MVVM架构
	4.MVP:移动端使用

vue框架特点:
	1.采用MVVM架构,通过vm层监听m层,数据发生变化v层便立刻变化,不需要手动操作DOM
	2.组件化开发:有自己独立的html,css,js
	3.单页面开发:全项目只有一个html页面

Vue初次使用解析

代码例子:
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="./js/vue.js"></script>		# 引入vue
    </head>
    <body>
        <div id="app">
            <h1>vue快速使用</h1>
            <p>名字:{{name}}</p>		# {{}}是插值语法,会把{{}}内的变量在js的vue里做映射
            <p>年龄:{{age}}</p>
        </div>
    </body>
    <script>
        var vm = new Vue({
            el: "#app",		# 通过id找到对应标签,对该标签Vue实施管理
            data: {		# vue内部的数据,数据内的键值对在底层会显示在外层(和data同一层),方便数据拿取
                name: 'lqz',
                age: 19
            },
        })
    </script>
    </html>

插值语法

插值符号:{{}}	# 可以改,需要修改Vue的源码
使用条件:被vue托管的标签内使用
插值类型:
	1.变量	# vue渲染完成后,前端显示都是字符串
		1.字符串	# 例子:{{name}}
		2.数组	# 例子:{{hobby[0]}}
		3.对象	# 例子:{{wife}},{{wife['name']}}
	2.js简单的表达式		# 例子:{{10 > 9 ? '大于' : '小于'}},{{age+1}}
	3.函数

指令系统

定义:写在任意标签上,以v-xx开头的,都是vue的指令
pycharm安装指令提示插件:在Plugins中安装vue.js插件,然后重启

文本指令:
	1.v-text:把变量渲染到标签中,如果之前有数据将其覆盖	# 例子:<p v-text="name">彭于晏</p>
	2.v-html:如果是标签字符串,会把标签渲染出来		 
		# 例子:<span v-html="a"></span>	a:'<a href="http://www.baidu.com">点我</a>'
	3.v-show:控制标签的显示与隐藏,底层是通过style的display控制的	
		# 例子: <img v-show='b' src="https://tva1.sinaimg.cn/large/0.jpg">	b:true
	4.v-if:控制标签的显示与隐藏,底层是通过dom的增加和删除	
		# 例子:<div v-if="c"></div>	 c:true

事件指令:
	使用结构:v-on:事件名='函数'		# 放在标签上
	事件名:
		1.click
		2.dbclick
		'-input标签事件名-'
		3.change
		4.blur
		5.input
		...
	例子:
		无参函数:
            '-body代码-'
                <button v-on:click="handleShow">点我显示消失</button>
                # v-on的简写
                <button @click="handleShow">点我显示消失</button>

            '-script代码-'	
                methods: {
                    handleShow: function () {
                        this.show = !this.show
                    },
                    # ES6函数定义的简便写法
                    handleShow() {
                        this.show = !this.show
                    },
                }
		有参函数:
			'-body代码-'
				<button @click="handleClick1('lqz')">有参函数</button>
				<button @click="handleClick2($event,'lqz')">有参函数</button>
			'-script代码-'	
			methods: {
				handleClick1(name) {
					console.log(name)
				},
				handleClick3(event,name){
					console.log(event)
					console.log(name)
				}
            	}
			有参函数总结:
				1.没有向有函数传参,默认会把event事件传入
				2.函数需要多个参数,传入参数数量不满足,则不满足的其他参数为undefined
				3.$event内部提供的,作为将本事件传入函数

属性指令:
	定义:控制标签属性的指令
	应用背景:vue控制下的标签属性不能直接调用data和method内的变量,需要借助v-bind
	使用模板:
		1.v-bind:属性名='变量' 
		2.简写:" :属性名="变量" "
	例子:
		<img v-bind:src="url" alt="" width="300px" height="300px">
		<div :id="id_div"></div>

ES6补充

var name = 'lqz'
var age = 19

ES5:var obj={name:name,age:age}
ES6:var obj = {name,age}
posted @ 2023-05-14 23:39  维生素Z  阅读(6)  评论(0)    收藏  举报