vue-app知识总结

  • Post author:
  • Post category:vue


1.先安装reset-css,清除样式表。但是这个和字体冲突,所以去修改源码。
2.在App.vue中放入<router-view/>,就可以用来显示子路由组件。
3.进入Home.vue组件,首先设置背景色,要给app、body、html三个都设置上高度,才可以撑满全屏。
4.rem的计算,1rem=这个html的文字大小。所以可以在App.vue中设置html{font-size:100px;} 这样14px=0.14rem。也可以选用其他的值。
5.页面请求  
	axios/request封装
		先创建一个单例(配置基本路径和请求执行时间)、请求拦截、响应拦截
	api封装
		在组件中按需导入使用
6.制作轮播图 (细节问题)
    实际上图片会高出一点点,因为这个图片带有文字的一些特性,存在一个底边的间距
    一般写图片的时候,都会顺手加一个style="display:block"。
    默认是行内块元素,存在文字的基准性问题,把它转为块级元素
 7.popup弹出层
 	popup可以作为Home组件的子组件。点击搜索框跳转页面,点击取消跳回去。
 		this.$router.push("/home/popup");
 		this.$router.go(-1);    //go(-1)代表调回上一个页面
 		为什么使用go()更好呢?
 		 	因为这个搜索框不只是一个可以使用,它有更多的功能,可以需要返回的页面不同。
 		为popup添加动画(使用到transition标签,去vue的官方文档查看)
 		 	进场动画    (这个动画vantui中有,可以使用)
 		 	出场动画
 		 vantui中有这种动画,可以使用,但是有一些问题。
 		 	 vantui中的是一个开启定位的弹出层,不能跳转路由,但是安卓的返回键是返回上一级路由,所以这个不可使用。
    ```
    	         				
```


popup难点:怎么把弹出层的情况考虑完整。

要先确认一下popup中到底存在多少个引入的组件
		1.历史记录与热门搜索区块  (一开始就显示的)
		2.列表区块    (当搜索的时候,显示的)
		3.产品区块    (当搜索关键字后,显示)
一.历史记录与热门搜索区块搭建
	创建组件(History)-->作为子组件被引入到MyPopup组件中
	页面样式
	数据渲染
		请求是在popup中还是在history中发送?
 		 	搜索框是父级的,父传子比较简单的,所以在mypopup组件中。
 		 	父传子:直接在父级中<history-hot :historyKeywordList="historyKeywordList"/>传递,
            			在子组件中接收export default { props:["historyKeywordList"] }
	点击标签时,可以搜索。子传父 
		在子组件:this.$emit("tagClick",item);    function为父组件定义函数,param为需要传递参数
		在父组件:在父组件中子组件引用处添加函数
							<history-hot  @tagClick="tagClick"/>
							tagClick(val){}
	点击删除按钮,可以删除。
		延时器:setTimeout(()=>{this.isShowHistory=false;},2000)
二.产品区块搭建
	1.根据搜索内容不同,显示的区块不同。
	2.字段改造
		vantui框架需要的字段和后端传过来的数据的字段不同,怎么办?
##(小技巧)快速修改某个数组中一个或多个对象的属性名
    先进行深拷贝,再做替换:
    	JSON.parse(JSON.stringify(data).replace(/name1/g, 'new_name1').replace(/name2/g, 'new_name2').replace(/name3/g, 'new_name3')...)
    	replace可以重复链式编程,name1表示旧属性名,new_name表示新属性名  
    3.商品中的价格进行处理
    	后端传过来的价格可能不会带小数点、元,所以要对价格进行处理
    		写一个过滤器(写到全局中,这样都可以使用。)
    		//时间的过滤器  过滤器的名字
				Vue.filter("filterMoney",function(val){
 					 return "¥ "+val.toFixed(2) +" 元";
   					 //toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。 是 0 ~ 20 之间的值
 			  })
 			  使用:{{98 | filterMoney}}
 		4.为文字添加省略号
 			.title{
            	overflow:hidden;
            	text-overflow:ellipsis;
           		white-space: nowrap;
       		}
三.列表区块搭建(搜索“日”,出现相关的列表区块(List组件))



版权声明:本文为weixin_45246008原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。