美文网首页
vue项目实战经验记录(待补充)

vue项目实战经验记录(待补充)

作者: 我性本傲 | 来源:发表于2019-03-11 11:16 被阅读0次

1.两个不同接口返回的数据,用的同一个按钮除触发,这时候我们可以把数据concat,然后分别循环,往每个接口中添加一个自定义的字段,以便区分。然后点击的时候判断这两个接口中不同的属性值,做出相应的callback.

2.change事件中不能向click那样子传参数,不过我们可以传一个函数。例如:@change="(val)=> changeCourse(val,course)" , 这样子的话,就可以再回调中拿到参数了。

3.命名视图---当我们需要在同一个路由下面添加多个组件的时候,就可以通过这种方式,而不是在每一个页面中都通过import的方式引入。

4.项目中需要用到的同步请求的话,我们可以采取以下的书写方式,比较优雅。

5.在项目中实现复制粘贴功能

6.有时候我们可能遇到这样的场景:当子组件A的按钮点击触发同级组件B的事件或者是弹框。我们可以先用$emit去通知父组件,由父组件通过prop的方式传参给B,从而实现效果。问题是:当在B组件通过watch监听prop传过来的状态,我们只可以监听到一次,再次点击的时候由于状态未发生改变,导致事件或者弹框无法生效。

解决方式:在B组件事件完成之后添加  this.$emit('update:flag', false)。其中flag为父组件传过来的状态,false为属性。在父组件添加 :flag.sync="flag" sync为修饰符。

原理:很多时候我们需要在子组件中修改prop的值,这样就破坏了vue的单项数据流,利用vue2.3的sync可以实现数据的双向绑定。

7.this.$set的使用

在开发过程中,我们时常会遇到这样一种情况:当vue的data里边声明或者已经赋值过的对象或者数组(数组里边的值是对象)时,向对象中添加新的属性,如果更新此属性的值,是不会更新视图的。

解决方式:(同时也可以作为优化代码的一种方式)

相关文章

网友评论

      本文标题:vue项目实战经验记录(待补充)

      本文链接:https://www.haomeiwen.com/subject/keyvpqtx.html