Vue的学习笔记

以下文章皆为观看慕课网https://www.imooc.com/learn/796中“河畔一角”老师的讲解做的笔记,仅供参考。

一、Vue特点

Vue是MVVM的框架,也就是模型视图->视图模型。Vue对数据的操作是直接操作模型里的数据,间接的修改Dom中绑定的数据,模型反向修改Dom中的值。

Vue的三大特点是:易用,灵活,高效。

易用-->渲染比较方便(不用像jquery那样每个去取);

灵活-->渐进式:声明式渲染、组件、路由、状态管理、构建,也就是缺什么补什么。

高效-->16k的gzip,运行大小够小,超快的虚拟DOM,最省心的优化(vue1-->vue2版本的优化,废除了过滤器(js可以做到的就没必要再在Vue上面去做,核心放在高效))。

二、Vue的常用指令介绍

三、创建一个Vue的实例


var vm = new Vue({    el: "#app",    data: {        //定义数据    },    filters: {        //Vue内部定义filters局部过滤器        //过滤器filter 对接口返回的字段进行转换等(比如格式化,字段的不同效果)    },    mounted: function () {        //初始化时执行的方法,可以在这里改变数据,添加方法。类似于jquery的ready,vue实例化完成后需要调用的方法        //1.0版本生命周期的代码是放在ready函数,2.0版本使用mounted函数代替ready,与data和methods同级.        //mounted函数并不能保证实例已经插入文档,所以要用        this.$nextTick(function () {            //保证this.$el已经插入文档        })    },    methods: {        //所有的方法写在这里      }});//全局过滤器Vue.filter();

四、v-for的vue2.0使用与原生js以及Jquery的对比

循环遍历:

(1)js: 

  obj.forEach(function(value,index){});

(2)jQuery:

  $.each(function(index,value){});

(3)vue2.0:

  <i v-for="(value,index) in arr"></i>

五、vue-resource小谈

vue-resoure插件主要用于数据交互方面

this.$http.get("请求地址",{请求参数(可选)}).then(function(res)){   //取数据。res返回的数据并不是真正的数据 ,而是由vue封装的,全部,包括 data,header等应该用,res.data获取数据对象});

六、过滤器的使用

过滤器,全局过滤器的写法;调用过滤器时,加“|”,后面跟过滤器的名字,如果过滤器有参数,用函数写法加括号和参数名。

在html中语法:

<span>{{item.productPrice | formatMoney(‘元‘)}}</span>

在js中语法:

//全局过滤器,第一个参数"money"是过滤器的名称,value是回调函数,type是参数//注意全局的过滤器没有sVue.filter("money",function(value,type){
    return "¥"+value.toFixed(2) + type;
})
//局部过滤器
new Vue({
    el:"#app",
        filters:{
        formatMoney:function(value){
            return "¥"+value.toFixed(2);
        }
    }
});  

七、小知识点

1.可以用typeof item.xxx == ‘undefined‘来检测属性存不存在。

如果不存在,要么用Vue.set给item全局注册一个checked的属性,赋值为true;

vue.set(target,key,value) 

要么用vm.$set局部注册。

vm.$set(target,key,value) 

如果存在,item.checked = !item.checked将checked的值取反。

[email protected]中不止可以调用函数,也可以写表达式,但表达式要么是一元表达式,要么是三元表达式,不可以出现声明或业务逻辑在里面

3.删除:通过indexOf获取索引,从当前位置开始删除一个元素

var index = this.productList.indexOf(this.curProduct);
this.productList.splice(index,1)

4.js中slice与splice的差别:都是截取数组,slice重新创建一个数组,不影响原来的数组,splice在原先的数组的基础上操作,是会影响原生数组

5.通过computed:{}实时计算

6.关于循环中的选中

<li v-bind:class="{‘check‘:index==currentIndex}" @click="currentIndex=index"></li>

 关于不同方式的选中

<li v-bind:class="{‘check‘:isCheck==1}" @click="isCheck=1">配送方式一<li>
<li v-bind:class="{‘check‘:isCheck==2}" @click="isCheck=2">配送方式一<li>
时间: 2024-10-14 20:35:43

Vue的学习笔记的相关文章

Vue.js学习笔记:在元素 和 template 中使用 v-if 指令

f 指令 语法比较简单,直接上代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title></title> <script src="https://cdn.bootcss.com/vue/2.2.

Vue.js学习笔记(7)组件详解

在这篇文章之前小颖分享过小颖自己写的组件:Vue.js学习笔记(5)tabs组件和Tree升级版(实现省市多级联动) 先给大家看下小颖写了一个简单的组件示例: 组件: <template> <div class='content' v-if='showFlag'> <input type="text" v-bind:style='{ width:compwidth+"px"}' v-model='compvalue' @keyup='m

Vue.js学习笔记:属性绑定 v-bind

v-bind  主要用于属性绑定,Vue官方提供了一个简写方式 :bind,例如: <!-- 完整语法 --> <a v-bind:href="url"></a> <!-- 缩写 --> <a :href="url"></a> 绑定HTML Class 一.对象语法: 我们可以给v-bind:class 一个对象,以动态地切换class.注意:v-bind:class指令可以与普通的class特

Vue.js学习笔记(一) - 起步

本篇将简单介绍一下Vue.js,并在Node.js环境下搭建一个简单的Demo. 一.简介 我个人理解,Vue.js是一套前端视图层的框架,它只关心视图展示和数据绑定,它的一些语法与Angular 1非常相似,如果有Angular 1相关的使用经验,上手会非常快. 相比较其他的React.Angular 2等MVVM框架,它更加的轻量,效率也更高,也能更好的与其他库集成. 它拥有以下几个出色的特性: 数据双向绑定 指令 模板 组件 当前最新的版本为2.1.4.后续也会在这个版本下演示Demo.

Vue.js学习笔记: 指令 v-on

Vue.js官方文档对于 v-on 这一常用指令提供了缩写方法,看看官网是怎么介绍的 <!-- 完整语法 --> <a v-on:click="doSomething"></a> <!-- 缩写 --> <a @click="doSomething"></a> 1.方法处理器 可以用 v-on 指令监听DOM事件 <div id="box">     <bu

vue.js学习笔记(Directives)

想必喜欢前端开发的小伙伴们都或多或少接触过MVVM这个概念,说起MVVM,第一时间想到的便是angularjs,knockoutjs等已经被广泛运用的MVVM框架,之前我也没有在这方面有很多了解,最近在做项目的过程中接触了Vue.js,这是一个小巧精致,性能优异的MVVM框架,可以说对初学者是比较容易入门的,该框架的英文文档写得很好,但是中文版访问还不太稳定,翻译也有待改进,所以自己一遍学习,一遍记录自己的思考,与各位共享学习的经验. 第一篇主要是想谈谈vue.js中的Directives即指令

饿了么vue实现学习笔记

技术栈:vue2 + vuex + vue-router + webpack + ES6/7 + fetch + sass + flex + svg以功能实现着手学习1. 定位功能 home.vue 通过跨域获取当前的地理位置 http://cangdu.org:8001/v1/cities?type=guess2. 选择城市转跳页面到搜索详细地址 home.vue 根据API接口的ID,通过 router-link :to="'/city/' + guessCityid"传值 路由定

vue.js学习笔记(二):如何加载本地json文件

在项目开发的过程中,因为无法和后台的数据做交互,所以我们可以自建一个假数据文件(如data.json)到项目文件夹中,这样我们就可以模仿后台的数据进行开发.但是,如何在一个vue.js 项目中引入本地的json文件呢,下面就将步骤贴出来.(此时项目是由webpack打包而成). 整个项目是由webpack打包而成,具体步骤上网查找.具体项目结构如下: 1:我们找到bulid>dev-server.js,然后打开 2:在里面加入这段代码. var app = express() var appDa

Vue.js学习笔记(1)

数据的双向绑定(ES6写法) 效果: 没有改变 input 框里面的值时 将input 框里面的值清空时: 重新给  input 框输入  豆豆 后页面中  span  里绑定{{testData.name}}的值随着 input 框值的变化而变化. 在Vue.js中可以使用v-model指令在表单元素上创建双向数据绑定.并且v-model指令只能用于:<input>.<select>.<textarea>这三种标签. <template> <div&