Vue vue-cli脚手架

5 篇文章 0 订阅

Vue 脚手架vue-cli

官方配置的关于vue的各种功能,就叫做脚手架; 

步骤
1、安装vue-cli 只需要安装一次;
①使用npm安装:npm install -g @vue/cli
②或者使用yarn安装 yarn global add @vue/cli
2、创建项目
vue create 项目名称
注意,项目文件中不要出现vue.js这个文件,要不然安装的时候,会不停的弹出vue.js,建议找一个空文件夹
3、安装的时候需要注意一个问题,第 一步需要使用上下键切换安装选项,不要选择第一个default配置,因为会有eslint, 一个不小心,比如多个空格就出现语法错误报错。选择Manually select features
4、选择配置项,按空格选中;

手动配置 vue-router
1、安装 npm install vue-router
2、引入 import VueRouter from ‘vue-router’
3、使用 Vue.use(VueRouter);
4、需要配置router ->route.js
5、在页面引入一个

其实不用自己配,我们在创建vue项目的时候,选择router选项,可以直接搭好路由;

Vuex

状态管理容器,能够管理你的数据状态。 用于复杂的页面,一个数据多个页面 或者多个路由共享(互相交互)时,多层级数据交互时可以使用vuex

手动配置Vuex步骤

1、下载

		npm install vuex

2、建一个store文件夹,建一个store.js文件:

		①引vue和vuex;
		②Vue.use(Vuex)
		③export default new Vuex.Store({			
			
			state:{//你想要哪些数据被所有组件直接拿到,就把这些数据放在state下
						count:0;// 初始化状态 
		*** 注意:改变state中的引用类型的数据必须要让数据直接发生变化。比如:	
						arr: [{id: xx,num:123}]  => [{id: xx,num:12456}] 
						State.arr = [...state.arr]	
						
					// view层引用:$store.state.count
					
				},
				
			mutations:{
					//改变数据的方法...在mutations下的操作都是同步的。异步使用actions;			
						add(state){		//这里的state就是初始化状态,
								.....此处为改变state.xxx数据的代码
									}	
							},
	    	getters:{	//等同于computed,当数据发生变化的时候派生出另一个"事务",这个时候使用getters
						  //view层使用   this.$store.getters.xxx
						  
					toDou:(state)=>{
			            let arr = JSON.parse(JSON.stringify(state.ary));
			            return arr.map(e=>{
			                if(e.num<10){
			                    e.num = '0'+e.num
			                }else{
			                    e.num = '' + e.num
			                }
			                return e;
			            });
    			}
			},
			
		  actions:{
	        actionsadd(context,n){	
	        //异步的方法名 context固定写,n为传参。
	        //只要是这个数据状态需要很多组件使用,并且此数据还是后台请求的数据。需要用actions
	        //view 层使用:`this.$store.dispatch('actionsName', 传参)`
	        
	          setTimeout(() => {
	                context.commit('add',n);
	            }, 1500);
	        }
		 }
	})

5.在main.js中,

		new Vue({
		  store,
		  render: h => h(App),
		}).$mount('#app')

在输出分发时候可以使用辅助函数来简化你的操作(不用也行),

实测:mapMutations,mapActions 不好用,坑多。。不用也罢

App.vue文件中:

<script>
	import {mapState,mapGetters} from 'vuex';
	export default {
	  name:'app',
	  methods:{
	      fn(){
	        // this.$store.commit({
	        //   type:'add',
	        //   n:1
	        // });
	        this.$store.dispatch('actionsadd',{n:1});
	      }
	  },
	  computed:{
	    ...mapState(['count'])
	  }
	}
</script>
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值