小白教程|一小时上手最流行的前端框架vue(推荐)


Posted in Javascript onApril 10, 2019

前言

vue是现在很火的一个前端MVVM框架,它以数据驱动和组件化的思想构建,与angular和react并称前端三大框架。相比angular和react,vue更加轻巧、高性能、也很容易上手。大家也可以移步vue官网,看一下它的介绍和核心功能介绍。简单粗暴的理解就是:用vue开发的时候,就是操作数据,然后vue就会处理,以数据驱动去改变DOM。使用vue,我们可以集中精力于如何处理数据上,数据改变后,页面显示也会随之改变。相比jquery那种操作DOM元素的开发方式,能有效提高开发效率,个人觉得有接近两三倍的提升。

一、 安装

我们可以通过npm或者直接引入script标签两种方式来安装vue。这里为了方便说明,采用第二种方式,我们只需要在html页面引入标签即可。个人测试开发可以使用bootcdn的资源。

<script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script>

二、核心思想

“数据绑定”是vue的核心思想,这里笔者举一个hello world例子来说明这种思想。

html代码

<div id="app">
 <p>{{ message }}</p>
 <input v-model="message">
</div>

javascript代码

new Vue({
 el: '#app',
 data: {
  message: 'Hello Vue!'
 }
})

页面效果

小白教程|一小时上手最流行的前端框架vue(推荐)

我们在html代码里面设置了一个id为“app”的div,然后在javascript里面实例化了一个属性el为“#app”的vue对象,表示这个vue对象用来处理该div的显示。

接着在vue对象的data属性里面设置了一个message字段,把这个字段和页面的p元素和input元素双向绑定起来。

这样只要message字段改变,p元素的内容就会改变。只要input的输入内容改变,message字段就会改变,从而导致p元素的内容改变。所以我们改变页面中输入框的值,p元素里面的内容也随之改变。

三、vue实例基本组成

new Vue({
 el: '#app',
 data: {
  message: 'Hello Vue!',
  url: 'www.salasolo.com'
 },
 methods:{
   showMsg: function(){
     alert(this.message)
   },
   jumpUrl: function(){
     location.href = this.url
   }
 },
})

可以看到,一个vue实例有三个基本的属性,el属性用来指定绑定的页面容器,data属性里面存放页面展示的数据,methods放置页面调用的一些方法。

四、数据绑定

使用下面的语法可以将页面元素的内容和vue实例的data属性里面的字段绑定起来。

1.文本

<span>消息: {{ message }}</span>

2.原始html

<span v-html="htmlCode"></span>

3.列表

<span v-for="item in list">{{item}}</span>

4.条件

<span v-if="isHuman">我是人类</span>
<span v-else>我不是人类</span>

5.属性

<a v-bind:href="url" rel="external nofollow" >这是一个链接</a>
<img :src:href="imgUrl" rel="external nofollow" alt="这是一张图片" />

6.表达式

<span>1+1=: {{ 1+1 }}</span>

五、事件绑定

使用下面的语法可以将页面元素的交互事件和vue实例的methods属性里面的方法绑定起来。

1. 点击事件

<button type="button" v-on:click="showMsg" >点击调用showMsg方法</button>

 2.选择事件

<select v-on:change="showChangeMsg" >
<option value="1">选项一</option>
<option value="2">选项二</option>
</select>

六、综合例子

html代码

<div id="app">
  <h3>商品列表</h3>
  <hr/>
  <table>
    <th>
      <td>商品名</td><td>商品图片</td><td>商品数量</td><td>操作</td>
    </th>
    <tr v-for="(item,index) in list">
      <td>{{item.name}}</td>
      <td><img src="item.imgUrl" /></td>
      <td>{{item.quantity}}</td>
      <td>
        <button type="button" v-on:click="delete(index)">删除此商品</button>
      </td>
    </tr>
  </table>
</div>

javascript代码

new Vue({
  el: '#app',
  data: {
    list:[]
  },
  created:function(){
    this.loadProductList();
  },
  methods:{
    loadProductList:function(){
      $.post('/product/apiGetList',function(data){
        this.list = data.data.list;
      });
    },
    deleteProduct:function(index){
      var _this = this;
      $.post('/product/apiDelete',{productId:_this.list[index]['productId']},function(){
        alert('删除成功');
      });
    }
  },
})

上面这段代码表示,在页面初始化时,通过ajax请求后端服务器得到商品列表数据赋值给vue实例数据的list字段,然后在页面中使用vue模版语法循环渲染出来,并给每个商品绑定了一个删除按钮点击事件,点击后调用vue实例的deleteProduct执行商品删除操作。

以上就是vue框架的简单入门介绍,大家可以到vue官网去学习更多高级应用。

以上所述是小编给大家介绍的前端框架vue详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Javascript 遍历对象中的子对象
Jul 03 Javascript
关于捕获用户何时点击window.onbeforeunload的取消事件
Mar 06 Javascript
再谈javascript图片预加载技术(详细演示)
Mar 12 Javascript
JS实现div居中示例
Apr 17 Javascript
javascript实例--教你实现扑克牌洗牌功能
May 15 Javascript
Js控制滑轮左右滑动实例
Feb 13 Javascript
javascript日期操作详解(脚本之家整理)
Sep 05 Javascript
基于JavaScript实现移除(删除)数组中指定元素
Jan 04 Javascript
Bootstrap布局之栅格系统详解
Jun 13 Javascript
HTML Table 空白单元格补全的简单实现
Oct 13 Javascript
深入理解Vue nextTick 机制
Apr 28 Javascript
使用layui 渲染table数据表格的实例代码
Aug 19 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
Apr 10 #Javascript
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
Apr 10 #jQuery
详解Vue源码学习之双向绑定
Apr 10 #Javascript
node.js 基于cheerio的爬虫工具的实现(需要登录权限的爬虫工具)
Apr 10 #Javascript
详解关于html,css,js三者的加载顺序问题
Apr 10 #Javascript
angular2 NgModel模块的具体使用方法
Apr 10 #Javascript
bootstrap tooltips在 angularJS中的使用方法
Apr 10 #Javascript
You might like
PHP关联链接常用代码
2012/11/05 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
基于jquery的当鼠标滚轮到最底端继续加载新数据思路分享(多用于微博、空间、论坛 )
2011/10/10 Javascript
JS无法捕获滚动条上的mouse up事件的原因猜想
2012/03/21 Javascript
加载远程图片时,经常因为缓存而得不到更新的解决方法(分享)
2013/06/26 Javascript
Js制作简单弹出层DIV在页面居中 中间显示遮罩的具体方法
2013/08/08 Javascript
基于javascript实现表格的简单操作
2016/05/21 Javascript
AngularJS extend用法详解及实例代码
2016/11/15 Javascript
详解bootstrap的modal-remote两种加载方式【强化】
2017/01/27 Javascript
React-router v4 路由配置方法小结
2017/08/08 Javascript
基于Vue框架vux组件库实现上拉刷新功能
2017/11/28 Javascript
JS实现的透明度渐变动画效果示例
2018/04/28 Javascript
layer弹出的iframe层在执行完毕后关闭当前弹出层的方法
2018/08/17 Javascript
详解React服务端渲染从入门到精通
2019/03/28 Javascript
JS实现的简单tab切换功能完整示例
2019/06/20 Javascript
vue下拉刷新组件的开发及slot的使用详解
2020/12/23 Vue.js
[00:59]PWL开团时刻DAY7——我在赶
2020/11/06 DOTA
Python数据类型之Number数字操作实例详解
2019/05/08 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
2019/07/06 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
2019/08/13 Python
丹麦优惠购物网站:PLUSSHOP
2019/03/24 全球购物
美国沃尔玛网上超市:Walmart
2020/08/14 全球购物
易程科技软件测试笔试
2013/03/24 面试题
在校生钳工实习自我鉴定
2013/09/19 职场文书
英语演讲稿3分钟
2014/04/29 职场文书
服装仓管员岗位职责
2014/06/17 职场文书
电焊工岗位工作职责
2014/07/09 职场文书
硕士毕业论文导师评语
2014/12/31 职场文书
2019大学生预备党员转正思想汇报
2019/06/21 职场文书
uniapp开发小程序的经验总结
2021/04/08 Javascript
FP-growth算法发现频繁项集——发现频繁项集
2021/06/24 Python
Java中try catch处理异常示例
2021/12/06 Java/Android
vue elementUI表格控制对应列
2022/04/13 Vue.js
python多次执行绘制条形图
2022/04/20 Python
python中pd.cut()与pd.qcut()的对比及示例
2022/06/16 Python