(21)打鸡儿教你Vue.js
组件化思想:
组件化实现功能模块的复用
高执行效率
开发单页面复杂应用
组件状态管理(vuex)
多组件的混合使用
vue-router
代码规范
vue-router
<template>
<div>
hello info component
</div>
</template>
<script>
export default {
name: "Info"
}
</script>
<style scoped>
</style>
<template>
<div id="app">
<div id="nav">
<router-link to="/">Home</router-link> |
<router-link to="/about">About</router-link> |
<router-link to="/info">Info</router-link>
</div>
<router-view/>
</div>
</template>
export default new Router({
routes: [
{
path: '/',
name: 'home',
component: Home
},
{
path: '/info',
name: 'info',
component: Info
},
Vuex
单向数据流概念
view actions state
Vuex多个视图依赖,菜单导航
不同视图的行为需要变更同一状态,评论弹幕
vue.js开发的状态管理模式
组件状态集中管理
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
state: {
},
mutations: {
},
actions: {
}
})
组件的状态
改变状态的方法集
<template>
<div>
hello info component
<button type="button" @click="add()">添加</button>
</div>
</template>
<script>
import store from '@/store'
export default {
name: 'Info',
store,
methods: {
add () {
console.log('dashucoding')
}
}
}
</script>
<style scoped>
</style>
<template>
<div class="about">
<h1>This is an about page</h1>
<p>{{msg}}</p>
</div>
</template>
<script>
import store from '@/store'
export default {
name: 'about',
store,
data () {
return {
msg: store.state.count
}
}
}
</script>
<template>
<div>
hello info component
<button type="button" @click="add()">添加</button>
</div>
</template>
<script>
import store from '@/store'
export default {
name: 'Info',
store,
methods: {
add () {
console.log('dashucoding')
store.commit('increase')
}
}
}
</script>
<style scoped>
</style>
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
state: {
count: 0
},
mutations: {
increase () {
this.state.count++
}
},
actions: {
}
})
调式
<script>
import store from '@/store'
export default {
name: 'Info',
store,
methods: {
add () {
console.log('add Event form info!')
// alert('alert form info')
debugger
store.commit('increase')
}
}
}
<template>
<div>
hello info component
<button type="button" @click="add()">添加</button>
</div>
</template>
<script>
import store from '@/store'
export default {
name: 'Info',
store,
data () {
return {
msg: 'hello vue'
}
},
methods: {
add () {
console.log('dashucoding')
debugger
store.commit('increase')
},
output () {
console.log('in output')
}
}
}
</script>
<style scoped>
</style>
console.log
alert()
debugger
window对象绑定
<template>
<div>
hello info component
<button type="button" @click="add()">添加</button>
</div>
</template>
<script>
import store from '@/store'
export default {
name: 'Info',
store,
data () {
return {
msg: 'hello vue'
}
},
mounted () {
window.vue = this
},
methods: {
add () {
console.log('dashucoding')
debugger
store.commit('increase')
},
output () {
console.log('in output')
}
}
}
</script>
<style scoped>
</style>
请点赞!因为你的鼓励是我写作的最大动力!
吹逼交流群:711613774
(21)打鸡儿教你Vue.js的更多相关文章
- (29)打鸡儿教你Vue.js
web阅读器开发 epub格式的解析原理 Vue.js+epub.js实现一个简单的阅读器 实现阅读器的基础功能 字号选择,背景颜色 有上一页,下一页的功能 设置字号,切换主题,进度按钮 电子书目录 ...
- (26)打鸡儿教你Vue.js
weex框架的使用 1.weex开发入门 2.weex开发环境搭建 3.掌握部分weex组件模块 4.了解一些vue基本常见语法 5.制作一个接近原生应用体验的app weex介绍 安装开发环境 We ...
- (22)打鸡儿教你Vue.js
vue.js 单页面,多页面 Vue cli工具 复杂单页面应用Vue cli工具 交互设计,逻辑设计,接口设计 代码实现,线上测试 git clone,git int 创建分支,推送分支,合并分支 ...
- (19)打鸡儿教你Vue.js
了解vue2.x的核心技术 建立前端组件化的思想 常用的vue语法 vue-router,vuex,vue-cli 使用vue-cli工具 Vue框架常用知识点 vue核心技术 集成Vue 重点看,重 ...
- (18)打鸡儿教你Vue.js
介绍一下怎么安装Vue.js vue.js Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性. Vue.js是一个渐进的,可逐步采用的Jav ...
- (17)打鸡儿教你Vue.js
vue-router <a class="list-group-item" v-link="{ path: '/home'}">Home</a ...
- (15)打鸡儿教你Vue.js
组件化vue.js 组件单向绑定 组件双向绑定 组件单次绑定 创建组件构造器 注册组件 使用组件 Vue.extend() Vue.component() 使用组件 <div id=" ...
- (13)打鸡儿教你Vue.js
一小时复习 vue.js是一个JavaScriptmvvm库,是以数据驱动和组件化的思想构建的,相比angular.js,vue.js提供了更加简洁,更加容易理解的api,如果习惯了jquery操作d ...
- (12)打鸡儿教你Vue.js
组件 语法格式如下: Vue.component(tagName, options) <tagName></tagName> <div id="app" ...
随机推荐
- Helm命令日常使用
更换仓库 默认的stable仓库地址是:https://kubernetes-charts.storage.googleapis.com 若遇到Unable to get an update from ...
- 缓存的设计及PHP实现LFU
1. 恒定缓存性能有哪些因素? 命中率.缓存更新策略.缓存最大数据量. 命中率:指请求缓存次数和缓存返回正确结果次数的比例.比例越高,缓存的使用率越高,用来衡量缓存机智的好坏和效率.如果数据频繁更新, ...
- SpringCloud--1--服务治理Eureka
一.Eureka概述 1.Eureka特点 只需通过简单引入依赖和注解配置,就能让SpringBoot构建的微服务应用轻松地与Eureka服务治理体系进行整合. Eureka负责服务治理,即:微服务实 ...
- c#-Json-Json字符串字段递归排序
private static dynamic GetSorObject (Object obj) { if (obj is JArray) { var list = new List<dynam ...
- VS 引用dll版本冲突问题
1.删除项目中的对应引用: 2.如果是有用到NetGet引用的删除项目中的packages里面的对应包文件: 3.如果是在NetGet中引用的注释项目中packages.config对应的插件名: 4 ...
- 微服务与SpringCloud简介
A.官网 https://spring.io/projects/spring-cloud B.简介 Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用 ...
- SpringBoot中LocalDatetime作为参数和返回值的序列化问题
欢迎访问我的个人网站 https://www.zhoutao123.com 本文原文地址 https://www.zhoutao123.com/#/blog/article/59 LocalDatet ...
- ansible之基础篇(二)
软件相关模块 yum rpm和yum的区别 rpm:redhat package manager yum 可以解决依赖关系 yum 源配置 使用yum下载时需要先下载epel [epel] name= ...
- Linux命令——rsync
参考:Rsync (Remote Sync): 10 Practical Examples of Rsync Command in Linux How to Sync Files/Directorie ...
- rpm与yum软件管理
一.rpm 简介 这是一个数据库管理工具,可以通过读取数据库,判断软件是否已经安装,如果已经安装可以读取出来所有文件的所在位置等,并可以实现删除这些文件. rpm:RPM is Redhat Pack ...