首页 > 其他分享 >vue介绍和基本使用,插值语法,文本指令和事件指令

vue介绍和基本使用,插值语法,文本指令和事件指令

时间:2023-06-01 17:14:30浏览次数:40  
标签:vue name 插值 标签 age Vue js 指令

1 前端的发展史

# 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 在不久的将来 ,前端框架可能会一统天下

2 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
    -咱们都讲
    

3 Vue之第一个helloworld

# 编辑器的选择
	-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="./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:'lqz'
        }
    })


</script>
</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引擎(解释器),安装到操作系统之上

4 插值语法

<!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: 'lqz',
            age: 19,
            hobby: ['篮球', '足球', 'spa'],  // js 就叫数组
            wife: {name: '刘亦菲', age: 38},   // js 中叫对象
            a: '<a href="http://www.baidu.com">点我看美女</a>'  // 标签形式字符串


        }
    })


</script>
</html>

4 文本指令之

# pycharm需要安装插件,才能有提示
	
# 指令系统: 写在标签上,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">

    文本指令之 v-text,把变量渲染在标签内部:<span v-text="a"></span>
    <br>
    插值语法:<span>{{a}}</span>
    <br>
    文本指令之v-html,把标签类型的字符串直接渲染成标签:<span v-html="a"></span>
    <h2>v-if的使用,只能写条件,或布尔类型的变量</h2>
    <div v-if="is_show">
        我是个div---v-if的使用
    </div>
    <br>
    <h2>v-show的使用</h2>
    <div v-show="is_show">
        我是个div---v-show的使用
    </div>
    <br>

</div>


</body>
<script>
    var vm = new Vue({
        el: '#app',
        data: {
            a: '<a href="http://www.baidu.com">点我看美女</a>',  // 标签形式字符串
            is_show: false,

        }
    })


</script>
</html>

5 事件指令

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

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

    es6 的对象简写形式
    var d={'name':'lqz','age':19}
    var d = {name: 'lqz', age: 19}  // 简写成
    var name = 'lqz'
    var age = 19
    var f=function (){
        alert('帅哥')
    }
    var d = {name: name, age: age,f}  #简写成 这个
    var d = {name, age,f(){}}  #简写成最终
    #等同于
    {name: name, age: age,f:function (){}}
    #他会把变量名当做key变量值当做value
    
    
    #data中定义的,用this取
       this.is_show = !this.is_show
        可以实现点击显示和点击删除的功能

作业

# 1 使用插值
# 2 使用文本指令(4个)
# 3 使用事件指令,控制图片显示与否
----扩展----
# 4 有个按钮,点击,隔1s,切换一张美女图片
    setInterval是一个实现定时调用的函数
    属性指令

image

标签:vue,name,插值,标签,age,Vue,js,指令
From: https://www.cnblogs.com/whxx/p/17449576.html

相关文章

  • vue2项目中使用dhtmlx gantt甘特图插件
    官网示例地址:https://docs.dhtmlx.com/gantt/samples/可以在这里查看绑定数据的格式安装依赖npminstalldhtmlx-gantt--save创建一个甘特图组件<template><el-scrollbarref="gantt_scrollbar"class="gantt-box"><divref="gantt"class=&qu......
  • vue3实现元素监听滚动事件
    //useScroll.jsimport{debounce}from'@/common/util.js'exportdefaultfunctionuseScroll(elRef){console.log('########3useScroll',elRef.value)letel=windowconstisReachBottom=ref(false)constclientHeight=ref(0......
  • VuePress2.0构建项目文档系统
    VuePress2.0构建项目文档系统参考TerraMours官网。https://terramours.site/文件结构参考:1.修改首页README.md修改项目下的README.md,修改内容:---home:trueheroImage:images/hero.pngheroText:TerraMoursactions:-text:快速开始link:/guide/type:pr......
  • 使用vue的简单的纯前端JS验证码实现
    使用vue的简单的纯前端JS验证码实现感觉人不能在SQL里面淹死,得看看别的东西了因为是上班摸鱼偷摸搞的,所以人比较懒,很多东西也懒得修修改改,直接放在一个html文件下了页面如下js的生成图形逻辑是21年毕业的时候百度CV的,出处是找不到了<!DOCTYPEhtml><htmllang="en"><head......
  • 前后端分离的架构,前端使用Vue2.6.10,后端使用SpringBoot2.0.0的ERP实现
    技术架构技术框架:SpringBoot2.0.0+Mybatis1.3.2+SLF4J1.7+Vue2.6.10+Ant-Design-Vue1.5.2+Mysql5.7+Redis运行环境:jdk8+IntelliJIDEA+maven+宝塔面板本地部署:1.小皮面板创建一个数据库,导入jsh_erp.sql文件至数据库中,该文件在后端程序的docs文件夹下。2.使用......
  • Vue3 尝试小记
    1.安装vue使用npm或yarn安装Vue3:#npmnpminstallvue@next#yarnyarnaddvue@next2.创建项目文件夹在命令行中,输入以下命令,在根目录下创建一个项目文件夹:mkdirmy-vue3-project3.初始化package.json使用npminit命令,在该目录中创建package.json文件:npm......
  • react项目,或者vue项目。手动隐藏warning。保持控制台的清晰
    非常感谢您的指正和提醒,我的回答中使用了arguments对象,而这不是一个好的实践。可以使用ES6的剩余参数(restparameters)来代替arguments对象。以下是使用剩余参数替换arguments对象的示例代码:importReactfrom'react';importReactDOMfrom'react-dom';constconsol......
  • Vue通用下拉树组件@riophae/vue-treeselect的使用
    vue-treeselect是一款下拉树通用组件。@riophae/vue-treeselect是一个基于Vue.js的树形选择器组件,可以用于选择树形结构的数据。它支持多选、搜索、异步加载等功能,可以自定义选项的样式和模板。该组件易于使用和扩展,适用于各种类型的项目。npm:https://www.npmjs.com/package/@......
  • vues全局使用WebSocket 多次吊起
    //import{showInfoMsg,showErrorMsg}from'@/utils/popInfo'//importElementUIfrom'element-ui';import{Toast}from'vant';functioninitWebSocket(that,baseObj){console.log(baseObj)console.log(this)co......
  • uniapp+vue3+ts 使用pinia报错
    "hasInjectionContext"isnotexportedby"node_modules/vue-demi/lib/index.mjs",importedby"node_modules/pinia/dist/pinia.mjs".11:36:19.397at../node_modules/pinia/dist/pinia.mjs:6:9 解决方法:把pinia降级 先删除pinianpmunipin......