var obj = {}
Object.defineProperty(obj, 'msg', {
// 设置 obj.msg = "1" 时set方法会被系统调用 参数分别是设置后和设置前的值
set: function (newVal, oldVal) { },
// 读取 obj.msg 时get方法会被系统调用
get: function ( newVal, oldVal ) {}
})

Vue双向绑定

语法:v-bind:title=“msg”

简写::title=“msg”

<!-- 完整语法 -->
<a v-bind:href="url"></a>
<!-- 缩写 -->
<a :href="url"></a>
<!-- 完整语法 -->
<a v-on:click="doSomething"></a>
<!-- 缩写 -->
<a @click="doSomething"></a>

key属性

-class和style

提升性能:v-pre

提升性能:v-once

过滤器 filter

文本数据格式化

{{}}和 v-bind 表达式

全局过滤器

Vue.filter('filterName', function (value) {
// value 表示要过滤的内容
})

局部过滤器

按键值修饰符

watch是一个对象,键是需要观察的表达式,值是对应回调函数

文本数据格式化:

filter

全局过滤器

局部过滤器

显示的内容由过滤器的返回值决定

Vue.filter('filterName',function(value){
}
<div>{{ dataStr | date }}</div>
<div>{{ dateStr | date('YYYY-MM-DD hh:mm:ss') }}</div> <script>
Vue.filter('date',function(value,format){
// value 要过滤的 字符串内容
// format 过滤器的参数
})
</script>

局部过滤器

{
data: {},
// 通过 filters 属性创建局部过滤器
filters: {
filterName: function(value, format){}
}
}

修饰键,鼠标按键修饰符

@keyup.13="submit"
@keyup.enter="add" Vue.config.keyCodes.f2 = 113
@keyup.enter.f2 = "add"

监视数据变化

watch

watch是一个对象,键是表达式,值是回调函数

new Vue({
data: {
a: 1,
b: {
age: 100
}
},
watch: {
a: function(val, oldVal){
// val 表示当前值
// oldVal 表示旧值
},

计算属性:

var vm = new Vue({
el: '#app',
data: {
firstname: '',
lastname: ''
},
computed: {
fullname() {
return this.firstname + this.lastname
}
}
})

computed中的属性不能与data中的属性同名,否则会报错

组件的生命周期函数

事件

钩子函数 - beforeCreate() - 实例初始化之后

钩子函数 - created() - 发送请求获取数据

钩子函数 - beforeMounted() - 在挂载开始之前被调用

钩子函数 - mounted() - vue实例已经挂载到页面中

钩子函数 - beforeUpdated()

钩子函数 - updated()

钩子函数 - beforeDestroy()

钩子函数 - destroyed()

axios

封装ajax,用来发送请求,异步获取数据

基于Promise的HTTP客户端,用于浏览器和node.js

https://github.com/axios/axios

// 在浏览器中使用,直接引入js文件使用下面的GET/POST请求方式即可
// 1 引入 axios.js
// 2 直接调用axios提供的API发送请求
created: function () {
axios.get(url)
.then(function(resp) {})
} ---
// 配合 webpack 使用方式如下:
import Vue from 'vue'
import axios from 'axios'
// 将 axios 添加到 Vue.prototype 中
Vue.prototype.$axios = axios ---
// 在组件中使用:
methods: {
getData() {
this.$axios.get('url')
.then(res => {})
.catch(err => {})
}
} ---
// API使用方式: axios.get(url[, config])
axios.post(url[, data[, config]])
axios(url[, config])
axios(config)
const url = 'http://'

axios.get('/user?id=')
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
}); axios.get('/user', {
params: {
id: 123
}
})

组件

父组件到子组件

props

$on():绑定自定义事件

内容分发

通过 标签指定内容展示区域


请点赞!因为你的鼓励是我写作的最大动力!

吹逼交流群:711613774

(2)打鸡儿教你Vue.js的更多相关文章

  1. (29)打鸡儿教你Vue.js

    web阅读器开发 epub格式的解析原理 Vue.js+epub.js实现一个简单的阅读器 实现阅读器的基础功能 字号选择,背景颜色 有上一页,下一页的功能 设置字号,切换主题,进度按钮 电子书目录 ...

  2. (26)打鸡儿教你Vue.js

    weex框架的使用 1.weex开发入门 2.weex开发环境搭建 3.掌握部分weex组件模块 4.了解一些vue基本常见语法 5.制作一个接近原生应用体验的app weex介绍 安装开发环境 We ...

  3. (22)打鸡儿教你Vue.js

    vue.js 单页面,多页面 Vue cli工具 复杂单页面应用Vue cli工具 交互设计,逻辑设计,接口设计 代码实现,线上测试 git clone,git int 创建分支,推送分支,合并分支 ...

  4. (21)打鸡儿教你Vue.js

    组件化思想: 组件化实现功能模块的复用 高执行效率 开发单页面复杂应用 组件状态管理(vuex) 多组件的混合使用 vue-router 代码规范 vue-router <template> ...

  5. (19)打鸡儿教你Vue.js

    了解vue2.x的核心技术 建立前端组件化的思想 常用的vue语法 vue-router,vuex,vue-cli 使用vue-cli工具 Vue框架常用知识点 vue核心技术 集成Vue 重点看,重 ...

  6. (18)打鸡儿教你Vue.js

    介绍一下怎么安装Vue.js vue.js Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性. Vue.js是一个渐进的,可逐步采用的Jav ...

  7. (17)打鸡儿教你Vue.js

    vue-router <a class="list-group-item" v-link="{ path: '/home'}">Home</a ...

  8. (15)打鸡儿教你Vue.js

    组件化vue.js 组件单向绑定 组件双向绑定 组件单次绑定 创建组件构造器 注册组件 使用组件 Vue.extend() Vue.component() 使用组件 <div id=" ...

  9. (13)打鸡儿教你Vue.js

    一小时复习 vue.js是一个JavaScriptmvvm库,是以数据驱动和组件化的思想构建的,相比angular.js,vue.js提供了更加简洁,更加容易理解的api,如果习惯了jquery操作d ...

  10. (12)打鸡儿教你Vue.js

    组件 语法格式如下: Vue.component(tagName, options) <tagName></tagName> <div id="app" ...

随机推荐

  1. flutter从入门到精通一

    Flutter 是 Google 开源的 UI 工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动.Web.桌面和嵌入式平台 flutter是基于dart语言开发的,我们将首先通过几章节 ...

  2. 编写Postgres扩展之五:代码组织和版本控制

    原文:http://big-elephants.com/2015-11/writing-postgres-extensions-part-v/ 编译:Tacey Wong 在关于编写Postgres扩 ...

  3. Nacos笔记01——使用Nacos作为SpringCloud项目的服务注册中心

    前言 刚学SpringCloud时使用eureka作为服务注册中心,随着网飞公司eureka2.x不再更新,以及最近在公司实习接触到的SpringCloud项目是使用Nacos来做服务注册中心的,所以 ...

  4. 基于【 Docker】六 || 部署Harbor仓库

    第一步:下载harbor二进制文件:https://github.com/goharbor/harbor/releases 第二步:安装 docker compose sudo curl -L htt ...

  5. springboot学习入门简易版一---springboot2.0介绍

    1.1为什么用springboot(2) 传统项目,整合ssm或ssh,配置文件,jar冲突,整合麻烦.Tomcat容器加载web.xml配置内容 springboot完全采用注解化(使用注解方式启动 ...

  6. IP地址的总结

    目前所使用的是IPV4,它是一个32位的整数,一般表示为 W.X.Y.Z格式,分为2部分,网络号和主机号,正是有了这种分层的结构,才支持了组播了淡泊,他是internet最终地址. 举例:192.16 ...

  7. zookeeper服务【-】windows安装与liunx安装

    windows安装zookeeper-3.4.14 https://www.apache.org/dyn/closer.cgi/zookeeper/ [zookeeper下载地址] 1.开启服务之前需 ...

  8. redis windows安装与liunx安装

    windows安装redis 2.把安装包放在Linux文件系统下,利用WinSCP工具 3.解压缩 tar -zxf redis-4.0.2.tar.gz 4.切换到解压后的目录 cd redis- ...

  9. linux网络编程之socket编程(十二)

    今天继续学习socket编程,期待的APEC会议终于在京召开了,听说昨晚鸟巢那灯火通明,遍地礼花,有点08年奥运会的架势,有种冲动想去瞅见一下习大大的真容,"伟大的祖国,我爱你~~~&quo ...

  10. Select count(*)和Count(1)的区别和执行方式

    在SQL Server中Count(*)或者Count(1)或者Count([列])或许是最常用的聚合函数.很多人其实对这三者之间是区分不清的.本文会阐述这三者的作用,关系以及背后的原理. 往常我经常 ...