vue周总结

2017-11-16  本文已影响0人  帅气的昵禾尔_

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>
上一篇 下一篇

猜你喜欢

热点阅读