1. 传值
不详细介绍传值方法,只是列一下可用的
1.1 路由传值
1.2 编程式传值
1.3 props传值(父传子,子传父)
1.4 vuex(大概理解。。。)
1.5 global event bus
1.6 emit事件传值
1.7 ref父组件调用子组件的方法和数据(渲染结束时候才存在)
2. 指针的指向
=>箭头函数指向固定(离自己最近的对象)
其余的函数都指向函数的调用者
在vue中的如果想指向实例,可以使用变量转存this指针。
3. vue自定义指令
官方推荐在自定义指令里面使用dom操作。
封装一个类似于v-for的工具函数,但是不能封装一个过于复杂的。
4. js
触发标签的点击事件:选中的标签.click()/.onclick()
获取标签:js中获取多个标签,取到的是一个数组,可以通过下标选择具体的标签。
5. vue模板渲染
在模板中变量中有常亮,当数据还没有请求下来的时候,常量被当做变量放在模板中,数据请求到后,被当做变量的常量没有值,所以就会进行报错。
typeError:Cannot read property ‘0’ of undefined
(解决办法,在包含常量的标签加一个v-for=“”判断是否取到值,当值取到的时候在进行渲染)
6. vue中可以 :class"{'类名' :标识位}"
通过标识位的值判断是否给标签添加对应的类。
7. axios 发送post请求向后台发送的是默认的json格式进行提交,后台服务器需要做相应的支持,引入qs模块。
8. vue组件的原声控件添加事件需要在事件后面添加.native才可以绑定上事件。
9. vue1.0和vue2.0动画有差别,使用的时候注意。
10. 引用多种框架样式之间样式可能会有冲突,解决办法1.在想要添加的样式加上!important2.改框架源码样式的代码。项目打包完后,a标签也得在css中进行修改,否则也会有默认的蓝色,十分的丑。
11. webApp引入高德地图组件后应该先进行判断是否载入高德地图api和高德地图组件。
mounted(){
this_ = this;
this.axios.get('http://webapi.amap.com/maps?v=1.4.1&key=e19ded39d2e04fb3a2c8feb252f03c0c').then(response=>{
// console.log(response.data.data.storeList);
if (window.AMap && window.AMapUI) {
this.$nextTick(function(){
this.loadmap(this_);//加载地图和相关组件
})
// 未载入高德地图API,则先载入API再初始化
}
})
}
12. 引入别人的组件库时候,粘贴的默认示例代码如下:
<script src="//unpkg.com/iview/dist/iview.min.js"></script>
<script src="//webapi.amap.com/ui/1.0/main.js"></script>
<script src="//vuejs.org/js/vue.min.js"></script>
这样引入的js直接 在浏览器中运行不会报错,但是在压缩的时候,不是绝对路径,会找不到做对应js文件。将代码改为加上http:请求才可以取到:
<script src="http://unpkg.com/iview/dist/iview.min.js"></script>
网友评论