实例化vue实例时初始化router store 状态管理。触发router去渲染对应的组件,然后通过对组件组件的操作来完成状态的变更。
先引入js脚本
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
<script src="https://unpkg.com/vuex@2.1.1"></script>
js脚本
然后可以进行点击,发现在foo组件下点击后store.count变为1,
切换路由到bar下面后,count也是1.这样便实现了有效管理。
先引入js脚本
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
<script src="https://unpkg.com/vuex@2.1.1"></script>
html <div id="app"> <router-view ></router-view> </div>
js脚本
const Foo = { template: '<div v-on:click="increase">foo{{count1}}</div>', // 该组件的私有数据 data:function(){ return {count:10}; }, computed:{ done:function(){ return this.$store.getters.doneTodos; }, count1:function(){ return this.$store.state.count; } }, methods:{ increase:function(){ this.$store.commit("increase",4); } } } const Bar = { // 该组件的view template: '<div v-on:click="decrease">bar{{count}}</div>', // 该组件的方法 methods:{ decrease:function(){ this.$store.commit("decrease"); } }, // 该组件的计算属性 computed:{ count:function(){ return this.$store.state.count; } } }; const Baz = { template: '<div>baz</div>'} // Vue.component('topic', { // template:"<span>这是topic</span>" // }) // 实例化路由 const router = new VueRouter({ mode: 'history', routes: [ { path: '/bar', name:"bar", component: Bar }, { path: '/foo', name:"foo", component: Foo }, { path: '/other', components: { default: Baz, a: Bar, b: Foo } } ] }) // 初始化store实例 var store=new Vuex.Store({ // 声明需要使用到的共享状态 state:{ todos:[ {id:1,done:true}, {id:2,done:false}, {id:3,done:true} ], count:0 }, // 可以理解为计算属性 getters:{ doneTodos:function(state){ return state.todos.filter(function(todo){ return todo.done; }) } }, // 定义事件 // 组件内部统一通过 this.$store.commit("increase",obj)来进行提交更改需求 mutations:{ increase(state,a,b){ console.log(state,a,b) state.count++; }, decrease:function(state){ console.log("count:"+state.count); state.count--; console.log("count:"+state.count); } } }) window.a=new Vue({ router:router,//绑定路由,传入router实例到vue 组件内部可以通过this.$router来访问路由对象 store:store//将实例化后的store绑定到根节点,则任意组件都可以通过this.$store来访问到store实例 }).$mount("#app");
测试:a.$router.push({name:'bar'}) a.$router.push({name:'foo'})
然后可以进行点击,发现在foo组件下点击后store.count变为1,
切换路由到bar下面后,count也是1.这样便实现了有效管理。
发表评论
-
vue
2017-06-03 19:41 0比如 假如没有添加上响应式属性的话,那么就会出现b只是一个简 ... -
自动配置代理
2017-02-13 15:42 1614有些时候 手机或者pc上面需要频繁的切换代理与取消代理,感觉切 ... -
对话框回调
2017-01-11 10:26 872今天遇见一个需求 在提交数据时需要同时弹出3个确认菜单,点击了 ... -
svg, 支持mouseover
2017-01-09 18:07 1071今天项目中的需求,是在一个fill后的svg path上面加上 ... -
vue 生命周期钩子
2017-01-07 22:11 1691和生命一样,vue组件创 ... -
分享vue脚手架工具,vue-cli
2017-01-04 15:42 775脚手架渲染原理: 下面 ... -
平时chrome调试遇见的 浏览器优化
2017-01-04 11:23 458js基础:在一个事件处理器(click)会形成一个闭包,可以访 ... -
百度文库复制方法
2015-11-11 10:24 1166即时对象初始化方法 (function(){ //cod ... -
js array对象的迭代方法
2015-07-16 12:09 682所有方法都接受两个参数:(fn,ctx); 默认的函数里面ct ... -
qq空间刷评论工具
2015-06-25 17:48 883var a=document.getElementsB ... -
jquery内部链式调用机理
2015-06-07 21:17 1084只需要在调用该对象合适(比如下列的setStyles)的方法后 ... -
this问题 js
2015-06-07 21:08 458任何一个函数都可以被当做构造函数使用!并且new了之后一定是返 ... -
js delete 删除机理以及它的内存泄露问题的解决方案
2015-06-02 12:43 918delete删除属性时只是解除了属性与对象的绑定,故当属性值为 ... -
浮动布局
2015-05-13 17:27 0c由于其宽度略大于右边的空格,故不会飘到右边去,会被卡住 恰好 ... -
zoom.js
2015-05-12 19:01 708它的基于bootstrap 的https://raw.gith ... -
jquery-avgrund
2015-05-12 12:31 0先引入这些文件 <link r ... -
workmark
2015-05-10 18:07 481在一个容器当中 指定 ... -
jquery
2015-05-09 16:33 0$(document).ready(function(){ ... -
豆瓣电影首页的分析
2015-05-08 22:48 844网址http://movie.douban.com 1 先上 ... -
setTimeout()用法
2015-05-08 22:31 0setTimeout("$('searchI ...
相关推荐
基于node js、vue、mongodb等技术构建的web系统,界面美观,功能齐全,适合用作毕业设计、课程设计作业等,项目均经过测试,可快速部署运行! 基于node js、vue、mongodb等技术构建的web系统,界面美观,功能齐全,...
在这个项目中,结合了Vue的核心库以及vue-router、axios和vuex等强大的辅助工具,同时还使用了vux这个UI组件库,以提升开发效率和用户体验。 1. **Vue.js**:Vue.js 是一个渐进式框架,可以轻松地与现有项目集成。...
在vue-vux-demo-master中,可以看到router目录下的配置文件,用于定义各个页面的路径和对应的组件。 4. **状态管理**:Vuex是Vue的状态管理工具,用于集中管理组件之间的共享状态。在示例项目中, vuex的store文件...
该项目是使用Vue.js 2.x版本作为前端框架,结合axios进行数据交互,vux作为UI组件库,vue-router用于页面路由管理和vuex实现状态管理,专门针对微信端开发的单页应用(SPA)。下面将详细介绍这些关键技术及其在项目...
本项目是一款基于Vue3.x、Vue-router4.x、Vux4.x和vant的H5在线考试系统源码,涵盖70个文件,包括26个Vue组件、15个JavaScript脚本、13个PNG图片、3个JSON配置、2个Markdown文档、2个JPG图片、1个editorconfig配置、...
基于vue的网易云音乐移动端web appReact版本: :项目技术都比较简单,适合新手拿来练手的入门级Vue开发实战...部分UI组件:Vux;运行此项目git clone https://github.com/janyin/vue-wangyiyun-music.gitcd vue-wangy
Vue-Vux-Demo 这是一个基于Vue2实现的webapp项目Demo。 技术栈 传说中的VUE全家桶(vue vue-router vuex) axios ( 一个凑合的 Vue.js 移动端 UI 组件库 ) (模拟Json数据的网站) 在线演示 线上访问 (请使用chrome...
matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接...
qingzhi项目背景介绍运行项目之前需要在终端安装依赖# install dependenciesnpm install# serve with hot reload at localhost:8080npm run dev# build for production with minificationnpm run build# build for ...
本教程将深入探讨如何使用Vue、Vue CLI和Webpack构建一个多页面应用程序,并集成Vue Router和VUX插件。 首先,创建项目基础结构。使用Vue CLI 3或更高版本,通过命令行运行`vue create`命令来初始化项目,指定预设...
4. **Vux配置**:可能包含vux-loader,用于处理Vux组件的按需加载,以及vux-plugin,用于在Vue项目中集成Vux。 5. **路由配置**:Vue-Router是Vue的官方路由管理器,项目模板会包含一个router.js文件,定义各个页面...
框架:Vue + Vue router + Vuex; http 请求:axios; 歌词滚动:better-scroll; 部分 UI 组件:Vux; 运行此项目 使用 GitHub 镜像地址: 下载更快 git clone https://github.com.cnpmjs.org/janyin/vue-music-app.git...
在"Vue.js-2.0-参考手册.zip"这个压缩包中,主要包含了一份名为"Vue.js-2.0-参考手册.CHM"的离线帮助文档,这是一份详尽的Vux2电子书,涵盖了Vue 2.0的基础教程和高级教程,对于学习和深入理解Vue.js 2.0至关重要。...
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 ... 【项目质量】: 所有源码都经过严格测试,...
Vue材料管理员 基于Vue + Vuetify实现的...│ ├─ router │ ├─ styles │ ├─ views │ ├─ app.Vue │ └─ main.js ├─ .browserslistrc ├─ editorconfig ├─ .eslintrc.js ├─ .gitignore ├─ babel
运用技术:Vue2.0、Vux、vux-loader、vue-cli、vue-router、vuex 2、效果图 3、实现流程 3.1 搭建框架(需要安装好node.js、npm) 1、快速搭建项目模板 因为项目使用vux,所以推荐使用vux官网的airyland/vux2 ...
在使用**vux-2**时,开发者首先需要在项目中安装相关依赖,如Vue、Vue Router、Vuex以及Vux。然后,根据项目需求配置Webpack,以正确处理Vue组件和Vux的样式。在Vue组件中,可以通过import导入Vux的组件,直接使用。...
5. **Vue Router**:尽管没有明确提及,但快速构建通常会涉及Vue Router,它是Vue.js的官方路由库,用于管理页面路由和组件的切换。 6. **实例化Vue**:在主入口文件(如`main.js`)中,会实例化Vue并挂载到HTML...
socket.io即时聊天室 ...扫视 登录页面 群聊页面 其他清单 私人聊天页面 安装依赖 节点7.x 自动重启节点服务器工具 npm i -g nodemon ...为代码编辑器安装eslint插件(例如vscode中的“ eslint”) ...