`
换个号韩国红果果
  • 浏览: 48086 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类

vue,vue-router,vux,综合

    博客分类:
  • web
阅读更多
实例化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>
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+vue-router+vux express+mongodb 做后台搭建的系统.zip

    基于node js、vue、mongodb等技术构建的web系统,界面美观,功能齐全,适合用作毕业设计、课程设计作业等,项目均经过测试,可快速部署运行! 基于node js、vue、mongodb等技术构建的web系统,界面美观,功能齐全,...

    vue-spa:vue+vue-router+axios+vuex+vux快速成型移动端项目,直接使用。.zip

    在这个项目中,结合了Vue的核心库以及vue-router、axios和vuex等强大的辅助工具,同时还使用了vux这个UI组件库,以提升开发效率和用户体验。 1. **Vue.js**:Vue.js 是一个渐进式框架,可以轻松地与现有项目集成。...

    vue-vux-demo-master

    在vue-vux-demo-master中,可以看到router目录下的配置文件,用于定义各个页面的路径和对应的组件。 4. **状态管理**:Vuex是Vue的状态管理工具,用于集中管理组件之间的共享状态。在示例项目中, vuex的store文件...

    基于vue2+axios+vux+vue-router+vuex构建的单页微信端项目.zip

    该项目是使用Vue.js 2.x版本作为前端框架,结合axios进行数据交互,vux作为UI组件库,vue-router用于页面路由管理和vuex实现状态管理,专门针对微信端开发的单页应用(SPA)。下面将详细介绍这些关键技术及其在项目...

    基于Vue3.x+Vue-router4.x+ Vux4.x+vant的H5在线考试系统设计源码

    本项目是一款基于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-wangyiyun-music:【Vue + Vuex + Vux】网易云音乐web移动端

    基于vue的网易云音乐移动端web appReact版本: :项目技术都比较简单,适合新手拿来练手的入门级Vue开发实战...部分UI组件:Vux;运行此项目git clone https://github.com/janyin/vue-wangyiyun-music.gitcd vue-wangy

    vue-vux-demo:初始化提交

    Vue-Vux-Demo 这是一个基于Vue2实现的webapp项目Demo。 技术栈 传说中的VUE全家桶(vue vue-router vuex) axios ( 一个凑合的 Vue.js 移动端 UI 组件库 ) (模拟Json数据的网站) 在线演示 线上访问 (请使用chrome...

    毕设 基于vue2+vux+vue-router+vue-resource+nodejs模仿163新闻简易版vue项目.zip

    matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接...

    vue-vux-vue.router:公司开发的微信公众号项目,一个知识付费的平台

    qingzhi项目背景介绍运行项目之前需要在终端安装依赖# install dependenciesnpm install# serve with hot reload at localhost:8080npm run dev# build for production with minificationnpm run build# build for ...

    vue+vuecli+webapck实现多页面应用

    本教程将深入探讨如何使用Vue、Vue CLI和Webpack构建一个多页面应用程序,并集成Vue Router和VUX插件。 首先,创建项目基础结构。使用Vue CLI 3或更高版本,通过命令行运行`vue create`命令来初始化项目,指定预设...

    基于vue的vux项目工程模板

    4. **Vux配置**:可能包含vux-loader,用于处理Vux组件的按需加载,以及vux-plugin,用于在Vue项目中集成Vux。 5. **路由配置**:Vue-Router是Vue的官方路由管理器,项目模板会包含一个router.js文件,定义各个页面...

    vue-music-app:【Vue + Vuex + Vux】 网易云音乐web移动端

    框架: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-参考手册.zip"这个压缩包中,主要包含了一份名为"Vue.js-2.0-参考手册.CHM"的离线帮助文档,这是一份详尽的Vux2电子书,涵盖了Vue 2.0的基础教程和高级教程,对于学习和深入理解Vue.js 2.0至关重要。...

    基于vue+vux+webpack+es6+vue-router,简单的基本用法.zip

    【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 ... 【项目质量】: 所有源码都经过严格测试,...

    vue-material-admin:Vue材料样式仪表盘后台管理系统模板

    Vue材料管理员 基于Vue + Vuetify实现的...│ ├─ router │ ├─ styles │ ├─ views │ ├─ app.Vue │ └─ main.js ├─ .browserslistrc ├─ editorconfig ├─ .eslintrc.js ├─ .gitignore ├─ babel

    Vue2.0+Vux搭建一个完整的移动webApp项目的示例

    运用技术:Vue2.0、Vux、vux-loader、vue-cli、vue-router、vuex 2、效果图 3、实现流程 3.1 搭建框架(需要安装好node.js、npm) 1、快速搭建项目模板 因为项目使用vux,所以推荐使用vux官网的airyland/vux2 ...

    vux-2项目集成方案,前端UI框架vux

    在使用**vux-2**时,开发者首先需要在项目中安装相关依赖,如Vue、Vue Router、Vuex以及Vux。然后,根据项目需求配置Webpack,以正确处理Vue组件和Vux的样式。在Vue组件中,可以通过import导入Vux的组件,直接使用。...

    vuevuexwebpack快速构建

    5. **Vue Router**:尽管没有明确提及,但快速构建通常会涉及Vue Router,它是Vue.js的官方路由库,用于管理页面路由和组件的切换。 6. **实例化Vue**:在主入口文件(如`main.js`)中,会实例化Vue并挂载到HTML...

    vueSocketChatroom:vue2.x + vue-router2.x + vuex2.x + vux2.x + express + socket.io立即聊天室

    socket.io即时聊天室 ...扫视 登录页面 群聊页面 其他清单 私人聊天页面 安装依赖 节点7.x 自动重启节点服务器工具 npm i -g nodemon ...为代码编辑器安装eslint插件(例如vscode中的“ eslint”) ...

Global site tag (gtag.js) - Google Analytics