Vue 实例还暴露了一些有用的实例属性与方法.它们都有前缀 $,以便与用户定义的属性区分开来 1.$data和$el var data = { a: 1 } var vm = new Vue({ el: '#example', data: data }) vm.$data === data // => true vm.$el === document.getElementById('example') // => true 2.$refs ref 被用来给DOM元素或子组件注册引用信息.引用信…
1. Vue实例及选项 1.1 创建Vue实例(new Vue instance) 每个Vue Application必须创建一个root Vue Instance. <script> var vm = new Vue({ }); </script> 一个Vue实例相当于一个MVVM模式中的ViewModel.在创建Vue实例时,可以传入一个选项对象,包含数据.模板.挂载元素.方法.生命周期钩子等选项. Vue.js通过构造函数Vue{ option }创建一个Vue实例: var…
模板语法.计算属性和侦听器 目标: 1.熟练使用vue的模板语法 2.理解计算属性与侦听器的用法以及应用场景 1. 模板语法 <div id="app"> <!-- 以下说绑定的值都可以写成js表达式形式 --> <!-- {{}}: 双大括弧语法 --> <!-- 如果不想让它响应更新,可以添加v-once指令(只渲染一次) --> <p> first: {{firstName}}<br> last: {{las…
组件式开发中,一定少不了Vue,废话少说,开始进行Vue应用前的关键性配置 备注:(为方便进行配置,提前可以安装Git bash,下载路径——https://git-scm.com/downloads,安装略) 1.新建:新建项目文件夹(或称“目录”),进入新建的项目文件夹,右键选择“git bash here”,弹出命令框: 2.检查:在命令框中输入 node -v检查是否安装有node(必须有node后续才能运行): 输入 cnpm -v(同上,如已安装,会显示安装的版本号) 未安装时,会显…
虽然 Vue.js 通常鼓励开发人员沿着"数据驱动"的方式思考,避免直接接触 DOM,但是有时我们确实要这么做.比如一个新闻滚动的列表项.如果在这里需要操作dom, 应该是等待 Vue 完成更新 DOM之后. 一.新闻滚动列表 1.在created函数中获取后台数据: 2.模板引擎中用v-for生成列表项: 3.调用滚动函数,假设该滚动函数式原声方法写的: 4.什么时候开始调用滚动函数比较合适呢? 二.this.$nextTick() 官方解释:将回调延迟到下次 DOM 更新循环之后执…
对于 Vue.nextTick 方法,之前没有听说过,突然听到别人提起,貌似作用挺大.以下为学习心得.官方文档上这样定义:在下次 DOM 更新循环结束之后执行延迟回调.在修改数据之后立即使用这个方法,获取更新后的 DOM.看定义就是一头雾水,这定义对于我这种初级选手来说写的也是不明不白.1.DOM更新循环指的是什么2.下次更新循环是什么时候3.修改数据之后使用,是加快了数据更新进度吗4.在什么情况下用到带着这些问题去使用一下nextTick首先写了个demo,按照官方文档的操作过程,试了一下修改…
此插件git: https://github.com/SortableJS/Vue.Draggable 基于Sortable.js http://www.cnblogs.com/xiangsj/p/6628003.html 使用方法: 一. 下载包:cnpm install vuedraggable -S   (后加-S 保存配置到package.json) 二. 使用: 引入依赖,注册组件 import draggable from 'vuedraggable' ... export defa…
1.npm install --save mescroll.js 2. <template> <div> <!--全部--> <mescroll-vue ref="mescroll0" v-show="tabType==0" :down="getMescrollDown(0)" :up="getMescrollUp(0)" @init="mescrollInit0"…
(一)模板语法 Mustache语法:{{ msg }} Html赋值:v-html = " " 绑定属性:v-bind:id = " " 使用表达式:{{ ok?'YES':'NO' }} 文本赋值:v-text = " " 指令:v-if = " " 过滤器:{{ message | capitalize }}和v-bind:id = " rawId | formatId " (二)Class和Styl…
什么是 better-scroll better-scroll 是一个移动端滚动的解决方案,它是基于 iscroll 的重写,它和 iscroll 的主要区别在这里.better-scroll 也很强大,不仅可以做普通的滚动列表,还可以做轮播图.picker 等等. better-scroll 的滚动原理 不少同学可能用过 better-scroll,我收到反馈最多的问题是: 我的 better-scroll 初始化了, 但是没法滚动. 不能滚动是现象,我们得搞清楚这其中的根本原因.在这之前,我…
<div class="app"> <div ref="msgDiv">{{msg}}</div> <div v-if="msg1">Message got outside $nextTick: {{msg1}}</div> <div v-if="msg2">Message got inside $nextTick: {{msg2}}</div>…
在我们日常的移动端项目开发中,处理滚动列表是再常见不过的需求了,以滴滴为例,可以是这样竖向滚动的列表,如图所示: 微信 —> 钱包—>滴滴出行”体验效果. 什么是 better-scroll better-scroll 是一个移动端滚动的解决方案,它是基于 iscroll 的重写,它和 iscroll 的主要区别在 这里 .better-scroll 也很强大,不仅可以做普通的滚动列表,还可以做轮播图.picker 等等. 不少同学可能用过 better-scroll,我收到反馈最多的问题是:…
随便改个vue 一堆报错 其实我并不反对这些语法检测,但是像许多反个人意愿的那就真的不得不吐槽了,比如vue-cli脚手架创建的默认eslint规则: 代码末尾不能加分号 ; 代码中不能存在多行空行 tab键不能使用,必须换成两个空格 代码中不能存在声明了但未使用的变量 以上规则个人认为真的反人类!调试代码太难了. 关闭eslint 这里只说vue-cli脚手架的关闭方法,其实很简单,就是把 build/webpack.base.conf.js 配置文件中的eslint rules注释掉即可.…
ESLint的用途 1.审查代码是否符合编码规范和统一的代码风格: 2.审查代码是否存在语法错误:  中文网地址 http://eslint.cn/ 使用VSCode编译器在Vue项目中的使用 在初始化项目时选择是否使用ESLint管理代码(选择Y则默认开启)  Use ESLint to lint your code? (Y/n) (此图仅为发小程序的mpvue框架使用) 默认使用的是此标准https://github.com/standard/standard/blob/master/doc…
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>数据绑定语法</title> </head> <body> <!--1.插值--> <!--文本插值--> <h3 id="example1">{{ message }}<…
this.$nextTick()将回调延迟到下次 DOM 更新循环之后执行.在修改数据之后立即使用它,然后等待 DOM 更新.它跟全局方法 Vue.nextTick 一样,不同的是回调的 this 自动绑定到调用它的实例上. 假设我们更改了某个dom元素内部的文本,而这时候我们想直接打印出这个被改变后的文本是需要dom更新之后才会实现的,也就好比我们将打印输出的代码放在setTimeout(fn, 0)中: 先来第一个例子看一看 <template> <section> <d…
1:介绍 vue.js允许开发者声明式地将Dom元素绑定至Vue实例的底层,所有的模板都是合法的html,所以能够被遵循规范的浏览器和html解析器解析 在底层的实现上,vue将模板编译成虚拟Dom渲染.结合响应式系统 在应用改变时,vue能够智能地计算出重新渲染组件的最小代价并应用到Dom操作上. 如果你熟悉虚拟dom并且偏爱原生js的语法,你可以不用模板,直接写render函数,使用可选的jsx语法 2:插值 数据绑定 最常见的形式是:Mustache 双大括号. Mustache 标签将被…
使用vue-cli创建vue.webpack项目,在项目中用到了iSlider移动端滑动插件,只在本地命令工具中npm install islider.js:提交之后,partner下载代码后一直运行不起来,报islider.js包相关的错误,最终问题定位在package.json文件中的dependencies和devDependencies对象中 查询资料: npm package.json 属性详解 dependencies与devDependencies的区别 dependencies:…
微信 jssdk 在 vue 中的简单使用 import wx from 'weixin-js-sdk'; wx.config({ debug: true, appId: '', timestamp: , nonceStr: '', signature: '', jsApiList: [] }); wx.ready(() => { // do something... }); wx.error((err) => { // do something... }); 以上是微信官方给出的示例代码,但…
一:v-text指令 指令v-text:可通过该指令绑定动态数据(动态数据我觉得可以是从服务器请求下来的数据,保存在data里边,然后动态显示在文档中,因为是一个一个的组件,数据应该不会很多吧,就只有这一块的数据内容.) 二:v-if指令 指令v-if :是否展示当前数据 <p v-if=’show’>{{title}}</p> 此时是不显示的. 若将show:false 改成 show:true 则title就会在页面中显示. 三:v-else指令 指令v-else:v-if不执…
最近我司项目中需要加入流程图制作功能,于是乎百度各种找可视化绘制拓扑图的轮子,大部分都是国外的,看文档太吃力,不过好在最终让我发现了AntV G6流程图图表库,最新版为2.0,不过编辑器在2.0版本还没有进行开源,所以只能退而求其次,使用了1.2.8版本.希望2.0版本的编辑器尽早开源,在交互方面1.2.8版本还是差了一些. 该组件并非开箱即食,需要根据自己的业务进行修改,右侧属性表单部分如果有时间考虑改为插槽形式,方便以后复用~ 如何将数据进行数据可视化展现? 技术栈 Vue v3.0.1 E…
(1)vue 自定义组件与父组件的通信,props:[abb],可以看成自组建的一个自定义属性 (2)vue 模版语法{{}} 只能是在DOM中插入,<div>{{acc}}</div>, 绑定属性的话应v-bind:id="abb" 不需要{{}}; 而小程序可以<image src="{{url}}" /><div wx:for="{{arr}}" wx:for-item="item&quo…
理解MVVM在react.vue中的使用 一:什么是MVC.为什么不用MVC 1:MVC的含义: M(modal):是应用程序中处理数据逻辑的部分. V (view)  :是应用程序中数据显示的部分. C(controller):是应用程序中处理用户交互的地方(Controller是MVC中的数据和视图的协调者,也就是在Controller里面把Model的数据赋值给View来显示(或者是View接收用户输入的数据然后由Controller把这些数据传给Model来保存到本地或者上传到服务器))…
插槽,也就是slot,是组件的一块HTML模板,这块模板显示不显示.以及怎样显示由父组件来决定. 实际上,一个slot最核心的两个问题在这里就点出来了,是显示不显示和怎样显示. 由于插槽是一块模板,所以,对于任何一个组件,从模板种类的角度来分,其实都可以分为非插槽模板和插槽模板两大类. 非插槽模板指的是html模板,比如‘div.span.ul.table’这些,非插槽模板的显示与隐藏以及怎样显示由组件自身控制: 插槽模板是slot,它是一个空壳子,因为它的显示与隐藏以及最后用什么样的html模…
module.exports = { chainWebpack: config => { config.module .rule('md') .test(/\.md$/) .use('html-loader') .loader('html-loader') .end() .use('markdown-loader') .loader('markdown-loader') .end() } } 这是 vue.config.js 配置方法 需要安装的依赖: cnpm i html-loader ma…
官方文档是这样介绍的: this.$nextTick 将回调延迟到下次DOM更新循环之后执行.在修改数据之后立即使用它,然后等待DOM更新. this.$nextTick 跟全局方法 vue.nextTick 一样,不同的是,回调的 this 自动绑定到调用它的实例上. 总的来说,假设我们更改了某个 dom 元素内部的文本,而这时候我们想直接打印这个更改之后的文本是需要 dom 更新之后才会实现的,就像我们把将要打印输出的代码放在 setTimeout(fn, 0) 中 具体代码: <templ…
绑定 HTML Class 我们可以传给 v-bind:class 一个对象,以动态地切换 class: 内联样式在模板里 <div id="div1" :class="{active: isActive, 'text-danger': hasError}"></div> <script type="text/javascript"> var vm1 = new Vue({ el: "#div1&qu…
首先我们来翻译一下nextTick是什么意思:下一个刻度 再来看看vue官网怎么说的: Vue.nextTick( [callback, context] )在下次 DOM 更新循环结束之后执行延迟回调.在修改数据之后立即使用这个方法,获取更新后的 DOM. 大概意思就是在修改完数据后会立即调用这个方法 下面看下具体代码↓ <template> <div> <div ref="test">{{text}}</div> <button…
错误如下: 1.用vue 写的项目最多可以兼容到IE9 及以上版本 2.使用babel-polyfill做兼容npm install babel-polyfill --save-dev 安装之后如果发现还是语法错误:点击app.js查看语法错误位置 发现上图我在mian.js引入了全局变量Global.js导致的 把global.js中所有es6写法转成es5如下 箭头函数也修改掉 在运行成功…
1._LayOut.cshtml 文件为mvc的布局文件,里面包函的是htm的静态文件,作为mvc其他view的基础母版使用,子视图要不想想调用它只需在页面设置@{Layout=null;}即可,现对于里面的一些语法进行说明: @RenderBody()对于所有的页面默认的情况下都会使用这个布局(WebForm的模板),在页面只能调用一次,子view可以与其共享资源如js.css等: @RenderPage("url")相当于一个占位符其页面的所有内容都会被引擎渲染在这个地方.比如网页…