首页 > 其他分享 >初识Vue

初识Vue

时间:2023-06-01 21:22:23浏览次数:49  
标签:Vue img 标签 前端 js 初识 var

前端的发展史

# 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
    -咱们学的是jq的ajax函数

# 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中,js的变了
    -view:我们看到的,css,html
    -vm:负责,只要js数据变了,view页面就发生变化,只要页面发生变化,js变量就跟着变
# MTV,MVC,MVP,MVVM

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


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

Vue的基本操作

# 编辑器的选择
	-python---》Pycharm
    -前端:
    	webstorm:(jetbrains公司的,使用习惯跟Pycharm)
        vscode:免费
        Sublime Text 
        vim
        -我选择使用Pycharm,它就是webstorm
        
 # 下载
https://cdn.jsdelivr.net/npm/vue/dist/vue.js
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="/vue/vue.js"></script>
</head>
<body>
<div id="app01">
    <button @click="imgshow">开始</button>
    <br>
    <button @click="imgnotshow">
        <img :src="img" alt="" height="500px">
    </button>
</div>
<script>
    var l = [2, 4, 5, 7, 8];
    var i = 0;
    var myInterval = null;
    var vm = new Vue({
        el: '#app01',
        data: {
            is_show: false,
            img: `./img/${l[i]}.jpg`
        },
        methods: {
            imgshow() {
                let _this=this
                myInterval = setInterval(function () {
                    _this.img = `./img/${l[i]}.jpg`
                    console.log(_this.img)
                    if (i < l.length-1) {
                        i++
                    } else {
                        i = 0
                    }
                }, 2000)
            },
            imgnotshow() {
                clearInterval(myInterval)
            }
        }
    })

</script>
</body>
</html>
# 学的是vue2:文档地址:https://v2.cn.vuejs.org/v2/guide/
# vue3的文档:https://cn.vuejs.org/guide/essentials/application.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="./vue/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}}</p>
    <p v-html="a"></p>
    <p>简单表达是:{{1 + 1}}</p>
    <p>三目运算符【条件?符合条件执行这个:不符合条件】:{{10>2?'正确':'不正确'}}
</div>
<script>
    var vm = new Vue({
        el:'#app',
        data:{
            name: 'lqz',
            age: 19,
            hobby: ['篮球', '足球', 'spa'],  // js 就叫数组
            wife: {name: '刘亦菲', age: 38},   // js 中叫对象
            a: '<a href="http://www.baidu.com">点我看美女</a>'  // 标签形式字符串
        }
    })
</script>
</body>
</html>

文本指令

# pycharm需要安装插件,才能有提示
	
# 指令系统: 写在标签上,v-开头的 标签,称之为指令,每个指令都有特殊用途
	v-指令名='写原来插值能写的东西'
    v-指令名='name'  # 变量

    
# v-text:把变量渲染在标签内部
# v-html:把标签类型的字符串直接渲染成标签
# v-if: 控制标签显示与否,直接删除或加入标签
# v-show:控制标签显示与否,通过样式的display: none;控制显示与否

事件指令

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

# 使用方式
v-on:事件名='函数名'
# 重点:v-on:事件='函数名'
可以简写成:
@事件='函数名'

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="./vue/vue.js"></script>

</head>
<body>
<div id="app01">
    <button @click="imgshow">开始</button>
    <br>
    <button @click="imgnotshow">
        <img :src="img" alt="" height="500px">
    </button>
</div>
<script>
    var l = [2, 4, 5, 7, 8];
    var i = 0;
    var myInterval = null;
    var vm = new Vue({
        el: '#app01',
        data: {
            is_show: false,
            img: `./img/${l[i]}.jpg`
        },
        methods: {
            imgshow() {
                let _this=this
                myInterval = setInterval(function () {
                    _this.img = `./img/${l[i]}.jpg`
                    console.log(_this.img)
                    if (i < l.length-1) {
                        i++
                    } else {
                        i = 0
                    }
                }, 2000)
            },
            imgnotshow() {
                clearInterval(myInterval)
            }
        }
    })

</script>
</body>
</html>

标签:Vue,img,标签,前端,js,初识,var
From: https://www.cnblogs.com/juzixiong/p/17450253.html

相关文章

  • antd的upload组件的各种上传、下载操作(vue)
    作为前端小白刚刚接触上传、下载文件的操作也让我很头疼,所以利用时间记录一下方便巩固,希望能够帮到大家。我将情况分为以下几种:一、点击按钮上传单个文件//html<a-upload:action="baseUrl+'/api/uploadSingleFile'":headers="headers"......
  • SpringBoot SSM vue 在线办公系统
    SpringBootSSMvue在线办公系统系统功能登录忘记密码首页统计分析用户管理员工管理公告管理考勤管理绩效管理薪酬管理流程管理留言管理文件管理开发环境和技术开发语言:Java使用框架:SpringBoot或SSM +Mybatis+MysqlSpringBoot是一个用于构建Java应用......
  • uniapp 组件中使用页面的生命周期(vue2)
    用于直接在组件中使用onLoad,onBackPress等因为之前在写App的时候有许多弹窗,希望可以在有弹窗的时候先关闭弹窗,没有弹窗在执行返回事件,因此需要在页面onBackPress里面写很多判断,因此找了一些方法,写了可以直接在组件中调用页面生命周期的方法!使用mixinthis.$children去循环查询......
  • 通过实例了解vue3.3更新的特征
    开场白5月份,vue团队发布了vue3.3.这次小版本的发布主要解决了--Vue与TypeScript一起使用时的许多长期存在的痛点.下面我们一起来学习一下vue3.3新特征准备新新特征的环境根据官方团队的描述,我们需要准备一下工作。vue升级到3.3时,建议同时更新以下依赖项:Volar/vue......
  • 【Vue】 vue项目的目录结构
    ├──build/#Webpack配置目录├──dist/#build生成的生产环境下的项目├──config/#Vue基本配置文件,可以设置监听端口,打包输出等├──node_modules/#依赖包,通常执行npmi会生成├──src/......
  • 【Vue】的API风格_选项式API和组合式API
    API风格API风格可分选项式API和组合式API。选项是API(OptionsAPI)使用选项式API,可以用包含多个选项的对象来描述组件的逻辑,例如  data、 methods 和  mounted 。选项所定义的属性都会暴露在函数内部的this上,它会指向当前的组件实例。1<script>2exp......
  • 学习日记——初识OOP
    0.目录1.对象2.类3.方法1.对象(1)万物皆对象世界是由多个看得见摸得着的物件组成的(2)身边的对象看的见摸得着的物件都称为对象,对象之间有区别是因为静态的属性和动态的行为有区别(3)对象的特征①静态的属性定义1:每个对象都有各自的静态的特征,在计算机中称之为属......
  • vue xlsx组件 导出的excel表头插入内容
    主要就是sheet_add_dom这个方法,dom是带有table标签元素的dom节点。timeData是个二维数组:[["条件1","条件2"],["值1","值2"]];如果是要在表格内容行里面插入内容,可以直接在与表格绑定的对象上,插入内容就可以了。/*timeData是二维数组*/getExcelWithInfo(timeData,dom,tit......
  • vue介绍和基本使用,插值语法,文本指令和事件指令
    1前端的发展史#1HTML(5)、CSS(3)、JavaScript(ES5、ES6):编写一个个的页面->给后端(PHP、Python、Go、Java)->后端嵌入模板语法->后端渲染完数据->返回数据给前端->在浏览器中查看 -javascript=ECMAScript(5,6,13)+Dom+Bom#2Ajax的出现->后台发送异步请求......
  • vue2项目中使用dhtmlx gantt甘特图插件
    官网示例地址:https://docs.dhtmlx.com/gantt/samples/可以在这里查看绑定数据的格式安装依赖npminstalldhtmlx-gantt--save创建一个甘特图组件<template><el-scrollbarref="gantt_scrollbar"class="gantt-box"><divref="gantt"class=&qu......