初始Vue
Vue环境搭建
Vue模板语法
Vue数据绑定
el-data的两种写法
MVVM模型
Vue数据代理
Vue中的事件处理

Vue官网:https://cn.vuejs.org

初始Vue

  • 什么是Vue?

一套用于构建用户界面的渐进式JavaScript框架
Vue可以自底向上逐层的应用
简单应用:只需要一个轻量小巧的核心库
复杂使用:可以引入各式各样的Vue插件

  • Vue的特点:

1、组件化模式,提高代码复用率,更好维护代码
2、声明式编码:无需直接操作DOM,提高开发效率
3、使用虚拟DOM+Diff算法,复用DOM节点

搭建Vue开发环境

1、下载vue.js

2、创建项目并导入idea

3、官网下载:https://github.com/vuejs/devtools/tree/main
并使用Vue.js devtools

注:在此之后你打开的网页如果是有Vue写的,那头部的Vue小标识会变成绿色
以上Vue环境就搭建ok啦

  • 创建Vue实例
    1、想让Vue工作,就必须创建一个Vue实例 且要传入一个配置对象
    2、root容器里的代码依然符合html规范 只不过混入了一些特殊的Vue的语法
    3、root容器里的代码被称为[Vue模板]
    4、Vue实例和容器是一一对应的
    5、真实开发中只有一个vue实例,并且会配合着组件一起使用
    6、{{xxx}}中的xxx要写js表达式,且xxx可以自动读取到data中的所有属性
    7、一旦data中的数据发生改变,那么页面中用到该数据的地方也会自动更换
    注意区分js表达式和js代码
    1、表达式:一个表达式会生成一个值 可以放在任何一个需要值的地方
    (1)a (2)a+b (3)demo(1) (4)x===y?‘a’:‘b’
    2、js代码(语句)
    (1)if(){} (2)for(){}
<html lang="en">
<head><meta charset="UTF-8"><title>初始Vue</title><!--引入Vue开发版--><script type="text/javascript" src="../js/vue.js"></script>
</head>
<body><!--准备容器 为Vue提供模板 把Vue的成果展示-->
<div id="root"><!--{{js表达式}}  插值语法--><h1>Hello!{{name.toUpperCase()}},{{address}}</h1>
</div><script type="text/javascript">Vue.config.productionTip=false //以阻止 vue 在启动时生成生产提示。//创建vue实例new  Vue({//el用于当前Vue实例为哪个容器服务 值通常为css选择器字符串el:'#root',  //data中用于存储数据 数据供el所指定的容器去使用,值暂时写成一个对象.data:{ name:"南风知我意",address:"上海"}})</script>
</body>
</html>

运行结果:

  • Vue模板语法

Vue模板语法有两大类
1、插值语法:
功能:用于解析标签体内容
写法:{{xxx}},xxx是js表达式,且可以直接读取到data中的所有属性
2、指令语法:
功能:用于解析标签(包括:标签属性、标签体内容、绑定事件…)
举例:v-bind:href=“xxx” 或 简写为 :href=“xxx”,xxx同样要写js表达式
且可以直接读取data中的所有属性
备注:Vue中有很多指令,且形式都是:v-???,此处我们只是拿v-bind举例

<!--准备容器-->
<div id="root"><h1>插值语法</h1><h3>你好,{{name}}</h3><hr/><h1>指令语法</h1><!--绑定 url当作表达式--><a v-bind:href="school.url.toUpperCase()" x="hello">去{{school.name}}</a><a :href="url" x="hello">去{{name2}}</a>
</div>
</body>
<script type="text/javascript">Vue.config.productionTip=false //以阻止 vue 在启动时生成生产提示。new Vue({el:'#root',data:{name:'南风知我意',school:{name: 'csdn',url:'https://blog.csdn.net/weixin_50823456?spm=1000.2115.3001.5343',}}})
</script>

运行结果:

  • Vue数据绑定

Vue中有2种数据绑定的方式:
1、单向绑定( v-bind):数据只能data流向页面
2、双向绑定( v-model):数据不仅能从data流向页面 还可以从页面流向data
备注:
1、双向绑定一般都应用在表单元素上(如:input、select等)
2、 v-model:value可以简写为 v-model,因为 v-model的默认收集的就是value值

<!--准备一个容器-->
<div id="root"><!--普通写法-->
<!--  单向数据绑定:<input type="text" v-bind:value="name"><br>双向数据绑定:<input type="text" v-model:value="name"><br>--><!--简写-->单向数据绑定:<input type="text" :value="name"><br>双向数据绑定:<input type="text" v-model="name"><br><!--如下代码 错误: v-model只能应用在表单类元素(输入类元素)上--><h2 v-model:x="name">你好啊</h2>
</div>
</body>
<script type="text/javascript">Vue.config.productionTip=falsenew Vue({el:'#root',data:{name:'南风知我意'}})</script>

运行结果:

  • el-data的两种写法

data与el的两种写法
1、el有2种写法
(1)new Vue时候配置el属性
(2)先创建Vue实例,随后再通过vm.$mount(’#root’)指定el的值
2、data有2种写法
(1)对象式
(2)函数式
如何选择:目前哪种写法都可以,以后学习到组件时,data必须使用函数式,否则会报错
3、一个重要原则
由Vue管理的函数,一定不要写箭头函数,一旦写了箭头函数 this就不再是Vue实例了

<!--准备容器-->
<div id="root"><h1>你好,{{name}}</h1>
</div>
</body>
<script type="text/javascript">Vue.config.productionTip=false//el的两种写法const v=new Vue({//el:'#root',  //第一种写法data:{name:'尚硅谷'}})console.log(v)v.$mount('#root') //第二种写法//data的两种写法const v=new Vue({el:'#root',//data的第一种写法 对象式/*data:{name:'尚硅谷'}*///data的第二种写法:函数式data(){console.log('@@@',this)  //此处的this是Vue实例对象return{name:'南风知我意'}}})
</script>
  • MVVM模型

1、M:模型(Model):data中的数据
2、V:视图(View):模板代码
3、VM:视图模型(ViewModel):Vue实例
观察发现:
1、data中的所有属性 在最后都出现在了vm身上
2、vm身上所有的属性及Vue原型上的所有属性,在Vue模板中都可以直接使用

<!--准备容器-->
<div id="root"><!--view--><h1>学校名称:{{name}}</h1><h1>学校地址:{{address}}</h1>
</div>
</body>
<script type="text/javascript">Vue.config.productionTip=falseconst vm=new Vue({  //viewmodelel:'#root',data:{/*model*/name:'南风',address:'长沙'}})console.log(vm)
</script>
  • Vue数据代理

通过一个对象代理对另一个对象中属性的操作(读、写)
1、Vue中的数据代理:
通过vm对象来代理data对象中的属性的操作(读、写)
2、Vue中数据代理的好处
更加方便的操作data中的数据
3、基本原理
通过Object.defineProperty()把data对象中所有的属性添加到vm上
为每一个添加到vm上的属性 都指定一个getter、setter
在getter、setter内部去操作(读、写)data中对应的属性

<!--准备容器-->
<div id="root"><!--view--><h1>学校名称:{{name}}</h1><h1>学校地址:{{address}}</h1>
</div>
</body>
<script type="text/javascript">Vue.config.productionTip=false //阻止Vue在启动时生成生产提示const vm=new Vue({el:'#root',data:{name:'南风',address:'长沙'}})
</script>
  • Vue中的事件处理

事件的基本使用:
1、使用v-on:xxx 或 @xxx绑定事件 其中xxx是事件名
2、事件的回调需要配置在methods对象中,最终会在vm上
3、methods中配置的函数,不需要箭头函数 否则this就不是vm了
4、methods中配置的函数,都是被Vue所管理的函数,this的指向是vm或组件实例对象
5、@click="demo"和@click="demo($event)"效果一致,但后者可以传参

<!--准备容器-->
<div id="root"><h1>欢迎来到尚硅谷学习</h1><!--<button v-on:click="showInfo">点我提示信息</button>--><button @click="showInfo1">点我提示信息1</button><button @click="showInfo2(66,$event)">点我提示信息2</button>
</div>
</body><script type="text/javascript">Vue.config.productionTip=false //阻止Vue在启动时生成生产提示new Vue({el:'#root',data: {name: '尚硅谷'},methods:{showInfo1(event){/* console.log(event.target.innerHTML)console.log(this)  //此处的this是vm*/alert("同学你好1")},showInfo2(number,a){/* console.log(event.target.innerHTML)console.log(this)  //此处的this是vm*/alert("同学你好2")console.log(number,a)}}})</script>


以上笔记,跟着尚硅谷的视频敲哒!自己做的一些小总结~

Vue环境搭建及入门相关推荐

  1. Vue 环境搭建和 Hello world

    文章目录 vue环境搭建 引入vue 安装vue开发者工具 全局配置 Hello world 404报错处理 Hello world 一些分析 总结 尚硅谷Vue2.0+Vue3.0全套教程丨vuej ...

  2. java mvc 小程序_[Java教程]Spring MVC 的环境搭建和入门小程序

    [Java教程]Spring MVC 的环境搭建和入门小程序 0 2017-02-17 00:00:16 1.1.下载spring框架包. 1.1.1百度搜索Spring Framework. 进入s ...

  3. [Python人工智能] 十六.Keras环境搭建、入门基础及回归神经网络案例

    从本专栏开始,作者正式研究Python深度学习.神经网络及人工智能相关知识.前一篇文章详细讲解了无监督学习Autoencoder的原理知识,然后用MNIST手写数字案例进行对比实验及聚类分析.这篇文章 ...

  4. JAVA环境搭建及入门

    Java环境搭建及入门基础语法 Java概述 一 Java语言 背景介绍 1 Java语言背景 语言:人与人交流沟通的表达方式 计算机语言:人与计算机之间,进行信息交流沟通的一种特殊语言 Java语言 ...

  5. 51单片机开发系列一-51单片机开发环境搭建以及入门汇编代码

    51单片机开发系列一 51单片机开发环境搭建以及入门汇编代码 象棋小子    1048272975 1. 51单片机概述 51单片机是对所有兼容Intel 8031指令系统的单片机的统称.目前教科书基 ...

  6. VUE环境搭建教程以及VSCODE插件Vetur和ESlint的安装配置

    *此教程适用于Windows环境下  Author:Sinclair  CreateDate:2018-10-09 1.安装node.js 下载地址:Download | Node.js (LTS代表 ...

  7. nodejs + vue环境搭建

    nodejs + vue环境搭建 安装nodejs 下载并安装[nodejs] 配置nodejs 安装cnpm(淘宝镜像) 安装vue vue vue-cil 测试,创建新项目 附上vue项目文件夹说 ...

  8. Django+Vue环境搭建

    一.Django环境 1.下载Django pip install django 2.创建Django项目 django-admin startproject server  #server  为项目 ...

  9. Android环境搭建与入门

    Android环境搭建与入门 步骤 1. 去官网下载(http://www.android-studio.org/)开发工具 2. 下载完成后,因为这是exe文件,点击安装即可 3. 打开如下文件 4 ...

最新文章

  1. getResources().getIdentifier(textView01, id, cn.xxx.xxx);
  2. spring bean作用域_Srping中Bean的三种装配方式:大魏Java记10
  3. unity中链接字符串和变量显示_理解Unity中的优化(六):字符串和文本
  4. HDU 5777 domino
  5. Joomla!程序中加载JS和CSS的方法
  6. Oracle 中调用外部C动态库函数
  7. ASP.NET 与 MVC 模式
  8. H3C之虚拟路由器冗余协议(VRRP)的原理及应用
  9. 洛谷 P1631 序列合并
  10. 宁波大学计算机网络实验五,宁波大学计算机网络实验四.doc
  11. 阿里百川IMSDK--自定义群聊界面
  12. 合成孔径成像算法与实现_(转)解读:为什么热成像测体温有时会显示35度以下?...
  13. CCF201512-1 数位之和(100分)
  14. 彻底解决navicat连接mysql报错:1251Client does not support authentication protocol requested by server......
  15. Java表示语言(文化)代码及国家地区对照表
  16. 服务器有些系统更新不能卸载,微软 Win10 更新 KB4577586 发布:永久删除 Adobe Flash Player,补丁无法卸载...
  17. chrome中验证码图片不显示的解决办法
  18. iOS开发常用设计模式
  19. 《帝友货代系统》项目研发总结
  20. AlexNet实现花卉识别

热门文章

  1. 阿尔法2机器人开发者指引教程
  2. 5个高清视频素材网站,免费商用,建议收藏~
  3. 如何使用Node.js抓取网站
  4. 声明式事务(Transactional)的工作原理
  5. ubuntu 信号:Signal
  6. html5场景动画效果图,HTML5+CSS3城市场景动画
  7. Python奥特曼打怪兽射击游戏,基于海龟画图创作的作品
  8. 18个为人处世的心机,学会一半做个有城府高情商的人
  9. java共享充电宝管理系统ssm框架
  10. 基于SpringBoot+Vue车牌识别的智能停车场项目源码