VUe基础

1.用vs2019,创建空项目,然后右键,添加项,选择html;写html双击table快捷键,会自动开发弹出html通用模板:

2.将写好的html文件,右键单击,然后选择在浏览器中查看,就可以看到编译后的结果:

3.使用vue,要在第一行引用vue, <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> 其他的具体基本应用见代码

<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Vue基础</title>
</head>
<body><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><div id="#app" class="app">{{message}}  <!--两个大括号,两个大()里面的东西,就会被message所替代--><h2>{{school.name}}{{school.mobile}}</h2><ul><li>{{campus[0]}}</li>  <!--数组里面的第一个元素是0--><li>{{campus[1]}}</li><li>{{campus[2]}}</li><li>{{campus[3]}}</li></ul></div><script>var app = new Vue({//  el: "#app",    /*css文件里面#是Id的表示*/ 一般都是建议使用ID选择器// el:".app",  //lacss选择器的关键字是.el:"div", //标签选择器;data: {message: "你好,小黑!",school:{name: "黑马程序员",mobile:"848481818"},campus: ["北京校区","上海校区","广州校区","深圳校区"]}})</script>
</body>
</html>

(二)具体的Vue这么用

vue里面封装了很多很有用的指令,一般都是以 V- 来开头的,下边是主要用到的几个:

  1. v-text:主要是设置文本。。v-text可以实现插入使用,具体实现算法看下边图片,注意使用拼接的时候,应该如何进行拼接
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>V-text指令</title>
</head>
<body><div id="app"><h2 v-text="message+'$$$加上的'">深圳</h2><h3 v-text="info">深圳</h3><h3>{{message}}####深圳</h3>  <!--想要使用插入类型的,就必须要用两个大括号的形式--></div><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app = new Vue({el: "#app",data:{message: "黑马程序员",info:"前端与移动教研室"}})</script>
</body>
</html>

实际效果图

2.V-html标签 当内容是文本的时候,他和v-text的作用一样,这个是当文本中出现的是html格式的时候,他会生成链接的格式,而 v-text 无论结果是什么,他都只会解析为文本。

<body><div id="app"><p v-text="content"></p><p v-html="content"></p></div><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app = new Vue({el: "#app",data:{content: "<a href='https://www.baidu.com/'>百度链接</a>"//外边用了双引号,里面就只能用单引号了}})</script>
</body>
</html>


3. V-on 这个是主要用于绑定事件用的,常用的是单击,双击,鼠标移动事件,具体实现代码如下:

<body><div id="app"><input type="button" name="name" value="v-on 指令" v-on:click="doIt" /><br><input type="button" name="name" value="v-on 简写" @click="doIt" /><br><input type="button" name="name" value="双击事件" v-on:dblclick="doIt" /><br /><h2 @click="changeFood">{{food}}</h2></div><script>var app = new Vue({el: "#app",data: {food:"西兰花炒饭"},methods:{doIt: function () {alert("做it");},changeFood: function (){this.food+="好好吃哦!"}}})</script>
</body>

效果图如下:每次点击 “西兰花” 这几个字,都会出现好好吃。

4.用 Vue 来实现 一个简单的计数器功能;最终效果图如下:(点击左边的数量 - , 点击右边的数量 + ),注意:在浏览器中,右键点击检测,然后选择 console 选项,就可以看到执行过的命令了,效果见图二

图二


实现代码如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>计数器</title><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body><div id="app"><div class="input-num"><button @click="sub">-</button><span>{{num}}</span><button @click="add">+</button></div></div><script>var app = new Vue({el: "#app",data: { num:1 },methods:{add: function () {console.log("add");if (this.num < 10) {this.num++;}else {alert("别点了,已经是最大了");}},sub: function () {console.log("sub");if (this.num >0) {this.num--;}else {alert("别点了,已经到底了");}} }})</script></body>
</html>

5.V-show的功能主要是用于控制 图片的隐藏或显示:具体操作是点击切换按钮,可以实现图片的隐藏或者显示:
实现代码如下

<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>美景图</title><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body><div id="app"><input type="button"   value="切换显示的状态" @click="changeIshow" /><img v-show="isShow" src="https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1592299228&di=1cdbca2b1805ab962a5a0b619b040de1&src=http://a3.att.hudong.com/14/75/01300000164186121366756803686.jpg" alt="" /></div><script>var app = new Vue({el: "#app",data: {isShow: false},methods: {changeIshow: function () {this.isShow = !this.isShow;}}})</script>
</body>
</html>

实现后的效果图如下:

6.V-if 指令:和其他语言的if差不多,可是实现某一参数 true 和 false 选择的切换,具体示例代码实现如下:

<body><div id="app"><input type="button"    name="name" value="切换显示" @click="toggleIsShow"/><p v-if="isShow">黑马程序</p></div><script>var app = new Vue({el: "#app",data: {isShow: false},methods:{toggleIsShow: function () { this.isShow = !this.isShow; }} })      </script>
</body>

效果图:通过动态点击切换显示,可以实现黑马程序这几个字的出现和消失;

7.V-bind(bind绑定)是用来绑定属性的:具体代码和效果图如下:

<body><div id="app"><!-- alt标签是当图片无法正常显示的时候,用来显示的文字 --><img v-bind:src="imgSrc"  alt="" /> <br /><img v-bind:src="imgSrc" alt="" :title="imgTitle+'!!!!'" /></div><script>var app = new Vue({el:"#app",data:{imgSrc: "https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=2446973552,1830588776&fm=26&gp=0.jpg",imgTitle:"黑马程序员",}})</script>
</body>

效果图:

7.Vue-for指令,和其他语法的for指令含义差不多,具体代码和效果如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Vue测试</title><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body><div id="app"><ul><li v-for="(it,index) in arr">{{index+1}}黑马程序员校区:{{it}}</li></ul><br /><h2 v-for="item in vegetables" v-bind:title="item.name">{{item.name}}</h2><input type="button" name="name" value="添加数据" @click="add" /><input type="button" name="name" value="删除数据" @click="remove" /></div><script>var app = new Vue({el: "#app",data: {arr: ["北京", "上海", "广东"],vegetables: [{name:"西兰花炒饭"},{name:"爆炒茄汁"}]},methods: {add: function () {this.vegetables.push({ name: "正新鸡排" });},remove: function () {this.vegetables.shift();},}})</script>
</body>
</html>

效果图如下:

8.Vue的事件修饰符,补充 V-on 注意用 . 修饰符可以对事件进行限制。例如用.enter只有在点击回车键的时候才会触发;

<body><div id="app"><input type="button" name="name" value="点击" @click="doIt(6666,'老铁')" /><input type="text" @keyup.enter="sayHi" />  <!-- key。enter只有在敲击回车键的时候,才会触发SayHi函数 --></div><script>var app = new Vue({el: "#app",methods: {doIt: function (p1, p2) {console.log("do it");console.log(p1);console.log(p2);},sayHi: function () { alert("吃了没有"); }}})</script>
</body>

实际效果图如下所示:

9 .V-model 进行关联
具体代码如下

<body><div id="app"><input type="button" name="name" value="修改message" @click="setM" /><input type="text"  v-model="message" @keyup.enter="getM" /><h2>{{message}}</h2></div><script>var app = new Vue({el: "#app",data: {message:"黑马程序员"},methods: {getM: function () {alert(this.message);},setM: function () {this.message = "酷丁鱼";}}})</script>
</body>

最后的效果图:

参考文献

黑马程序员
感觉侵权。联系侵删

使用vs2019写vue相关推荐

  1. vue filter对象_学习vue源码(3) 手写Vue.directive、Vue.filter、Vue.component方法

    一.Vue.directive Vue.directive(id,[definition]); 1)参数 { string } id{ Function | Object } [ definition ...

  2. MobX 上手指南,写 Vue 的感觉?

    之前用 Redux 比较多,一直听说 Mobx 能让你体验到在 React 里面写 Vue 的感觉,今天打算尝试下 Mobx 是不是真的有写 Vue 的感觉. 题外话 在介绍 MobX 的用法之前,先 ...

  3. vscode生成vue模板快捷键_VSCode写vue项目一键生成.vue模版,修改定义其他模板的方法...

    1. 安装一个插件,识别vue文件 2.新建代码片段 文件–>首选项–>用户代码片段–>点击新建代码片段–取名vue.json 确定 3.粘贴入自己写的.vue模板 { " ...

  4. vue-class-component 以class的模式写vue组件

    vue英文官网推荐了一个叫vue-class-component的包,可以以class的模式写vue组件.vue-class-component(以下简称Component)带来了很多便利: 1.me ...

  5. vue html 格式化,解决在写Vue时,格式化代码 属性自动换行的问题

    参考来源 特别说明,这些内容非本人原创,只是网络上说法很多,而这种我亲测有效,分享给大家 感谢segmentfault网用户 Raymond 它拥有3.6k的点赞量 感谢segmentfault网用户 ...

  6. 手牵手教你写 Vue 插件

    碎碎念 上一篇文章,我们介绍了如何构建一个 react 插件,今天我们说说如何构建 vue 插件 准备工作 由于与上一篇 react 插件文章使用的是相同的结构,代码测试.持续集成及发布 npm 包也 ...

  7. 从0开始写Vue项目-Vue页面主体布局和登录、注册页面

    1.从0开始写Vue项目-环境和项目搭建_慕言要努力的博客-CSDN博客 2. 从0开始写Vue项目-Vue2集成Element-ui和后台主体框架搭建_慕言要努力的博客-CSDN博客 一.主体布局 ...

  8. Vue 源码之手写Vue Router

    Vue 源码之手写Vue Router 源码地址:https://github.com/CONOR007/Handwritten-routing 一.Vue Router的两种模式 hash模式实现原 ...

  9. 教你从零写vue穿梭框

    教你从零写vue穿梭框 1. 前言 2. 制作选择组件(select-input) 2. 制作vue穿梭框组件(table-transfer) 4. 将选择组件和穿梭框组件结合使用 4.1 点击选择组 ...

最新文章

  1. 美国科学家发现:AI跟人类一样,都是需要“睡觉”的
  2. 观察多个线程同时运行|| 查看进程线程的方法——未完待续
  3. MySQL 数据库 InnoDB 和 MyISAM 数据引擎的差别
  4. P2730 魔板 Magic Squares (搜索)
  5. WSL安装xfce4
  6. 华为鸿蒙战略大会,华为发布鸿蒙2.0手机版的三大战略意义,全场景万物互联只是其一...
  7. 贪心算法之用优先队列解决最短路径问题(Dijkstra算法)
  8. 【开源项目】基于QT录制PCM音频实例详细
  9. C++ primer第十八章 18.1小结 异常处理
  10. Windows Phone 程序发布过程
  11. 【转】git使用教程
  12. 深度残差网络_深度残差收缩网络:借助注意力机制实现特征的软阈值化
  13. 入门图形学:ComputeShader
  14. 项目管理学习总结(20)——小团队管理与大团队管理
  15. 芥川龙之介《烟草与魔鬼》
  16. php curl添加授权Authorization 验证头
  17. 开源工单系统 python_PESCMS Ticket 客服工单系统 v1.2.0 发布
  18. 5注册激活_国家医保服务平台APP激活绑定流程
  19. 2021旗舰机选购指南
  20. Gridea+Coding Page个人网站搭建

热门文章

  1. STM32入门笔记(03):系统时钟控制 RCC (STM32CubeMx 初始化配置)
  2. 航天战场态势感知平台
  3. 十项全能革新网站开发技术-Zoomla!逐浪CMS2 x3.9.1发布
  4. RC滤波器和LC滤波器的区别
  5. 【数字康复治疗】自闭症市场能否走出供求困境
  6. 局域网内无线路由器太多的方法
  7. 打发无聊的100个网站
  8. Java程序员去找工作,如何写好一份漂亮的简历,给你借鉴一下
  9. Matlab:Crank Nicolson方法求解线性抛物方程
  10. 将String转为Date,方便快捷