Loading

Vue——前端发展史、Vue介绍和使用、插值语法、文本指令、事件指令

前端的发展史

# 1 HTML(5)、CSS(3)、JavaScript(ES5、ES6):编写一个个的页面 -> 给后端(PHP、Python、Go、Java) -> 后端嵌入模板语法 -> 后端渲染完数据 -> 返回数据给前端 -> 在浏览器中查看
	javascript=ECMAScript(5,6,13) + Dom + Bom

# 2 Ajax的出现 -> 后台发送异步请求,Render+Ajax混合
	-异步JavaScript和XML

# 3 单用Ajax(加载数据,DOM渲染页面):前后端分离的雏形

# 4 Angular框架的出现(1个JS框架):出现了“前端工程化”的概念(前端也是1个工程、1个项目)

# 5 React、Vue框架:当下最火的2个前端框架(Vue:国人喜欢用,React:外国人喜欢用)

# 6 移动开发(Android+IOS) + Web(Web+微信小程序+支付宝小程序) + 桌面开发(Windows桌面):前端 -> 大前端

# 7 一套代码在各个平台运行(大前端):谷歌Flutter(Dart语言:和Java很像)可以运行在IOS、Android、PC端

# 8 在Vue框架的基础性上 uni-app:一套编码 编到10个平台

# 9 在不久的将来 ,前端框架可能会一统天下

Vue介绍和基本使用

# Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式js框架
与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用
Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合


# M-V-VM思想:MVVM 是Model(数据)-View(视图)-ViewModel(vm) 的缩写,它是一种基于前端开发的架构模式,是一种事件驱动编程方式
	-model:前端的数据,在js中
    -view:我们看到的,css,html
    -vm:负责,只要js数据变了,view页面就发生变化,只要页面发生变化,js变量就跟着变
# MTV,MVC,MVP,MVVM

# 组件化开发、单页面开发(单页面应用:spa)


# 版本
	-最新:vue4,没有公司在用
    -公司主流:新项目基本会用Vue3,老项目继续用vue2

Vue之第一个helloworld

# 编辑器的选择
	-python---》Pycharm
    -前端:
    	webstorm:(jetbrains公司的,使用习惯跟Pycharm基本一致)
        vscode:免费
        Sublime Text 
        vim
        
 # 下载
https://cdn.jsdelivr.net/npm/vue/dist/vue.js
    
# vue2:文档地址  https://v2.cn.vuejs.org/v2/guide/
# vue3:文档地址  https://cn.vuejs.org/guide/introduction.html

# 响应视的
数据数据(js)和 DOM (页面)已经被建立了关联,所有东西都是响应式的

#补充: 解释型的语言是需要解释器的
js就是一门解释型语言,只不过js解释器被集成到了浏览器中

所以,在浏览器的Console中输入命令,就和在cmd中输入python后,进入交互式环境一样

# nodejs:一门后端语言
把chrome的v8引擎(解释器),安装到操作系统之上
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/vue.js"></script>
</head>
<body>
<div id="app">
    {{s}}
    <h1>{{name}}</h1>
</div>
</body>
<script>
    var vm = new Vue({
        el:'#app',
        data:{
            s:'hello world',
            name:'哈哈哈',
        }
    })
</script>
</html>

插值语法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/vue.js"></script>
</head>
<body>
<div id="app">
  <p>字符串:{{name}}</p>
  <p>数字:{{age}}</p>
  <p>数组:{{hobby}}-----{{hobby[1]}}</p>
  <p>对象:{{wife}}------{{wife['name']}}---------{{wife.age}}</p>
  <p>标签形式字符串:{{a}}--->说明不存在xss攻击</p>
  <p>-----插值语法,还可以放,简单表达式和函数(后面了)-----</p>
  <p>简单表达式:{{1+1}}</p>
  <p>三目运算符【条件?符合条件执行这个:不符合条件】:{{10>2?'正确':'不正确'}}</p>
</div>
</body>
<script>
  var vm = new Vue({
    el:'#app',
    data:{
      name:'xxx',
      age:19,
      hobby:['篮球','足球','spa'],  // js 就叫数组
      wife:{name:'qqq',age:20},  // js 就叫对象
      a:'<a href="http://www.baidu.com">点我看好看的</a>'  // 标签形式字符串
    }
  })
</script>
</html>

文本指令

# pycharm需要安装插件,才能有提示----->settings---->Plugins----->Vue

# 指令系统:写在标签上,v-开头的标签,称之为指令,每个指令都有特殊用途
	v-指令名='写原来插值能写的东西'
    v-指令名='name'  # 变量
    
# v-text:把变量渲染在标签内部
# v-html:把标签类型的字符串直接渲染成标签
# v-if:控制标签显示与否,直接删除或者加入标签
# v-show:控制标签显示与否,通过样式的display: none;控制显示与否
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/vue.js"></script>
</head>
<body>
<div id="app">
    <span v-text="a"></span>
    <hr>
    <span>{{a}}</span>
    <hr>
    <span v-html="a"></span>
    <hr>
    <h2>v-if的使用,只能写条件,或布尔类型的变量</h2>
    <div v-if="is_show">
      我是一个div---v-if的使用
    </div>
    <hr>
    <h2>v-show的使用</h2>
    <div v-show="is_show">
      我是一个div---v-show的使用
    </div>
</div>
</body>
<script>
    var vm = new Vue({
      el:'#app',
      data:{
        a:'<a href="http://www.baidu.com">点我看好看的</a>',
        is_show:true,
      }
    })
</script>
</html>

事件指令

# 用的最多的就是点击事件,给某个标签绑定一个点击事件,当点击一下,就执行某个函数

# 使用方式
v-on:事件名='函数名'
# 重点:v-on:事件='函数名'
可以简写成:
@事件='函数名'
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/vue.js"></script>
</head>
<body>
<div id="app">
    <img :src="isActive?'img/1.png':'img/2.png'" alt="" v-if="is_show">
    <br>
    <br>
    <div>
        <button @click="hidden">点我隐藏</button>
        <button v-on:click="change">点我切换</button>
    </div>
    <br>
    <br>
    <button v-on:click="handleClick">点我看好看的</button>
</div>
</body>
<script>
    var vm = new Vue({
        el:'#app',
        data:{
            is_show: true,
            img:'img/1.png',
            isActive:true,
        },// data配置项中,放数据,变量
        methods:{
            // 用的少
            // 'handleClick':function(){
            //      alert('你个2杯')
            // },

            // 以后都用这种
            handleClick(){
                alert('你个2杯')
            },
            hidden(){
                this.is_show = !this.is_show
            },
            change(){
                this.isActive = !this.isActive
            },
        }
    })

    // es6的对象简写成
    // var d = {'name':'xxx','age':19}
    // 简写成
    // var d = {name: 'xxx',age: 19}
    // 简写成
    // var name = 'xxx'
    // var age = 19
    // var f = function(){
    //     alert('2杯')
    // }
    // 简写成 这个
    // var d = {name:name,age:age,f}
    // 最终简写成 等同于{name: name, age: age,f:function (){}}
    // var d = {name,age,f(){}}
    // console.log(d)
</script>
</html>
posted @ 2023-06-02 18:33  抱紧小洪  阅读(71)  评论(0编辑  收藏  举报