VUE 开发总结笔记
2017-08-04 16:57
211 查看
VUE 开发总结笔记
vue开发过程中遇到的一些问题和总结,都是入门时可能会遇到的问题。
Vue动态添加新的属性到实例上
当我们去看vue文档的时候,发现如果在实例创建之后添加新的属性到实例上,它不会触发视图更新。比如我们我们开始创建了一个对象实例,在实例创建之后为其增加新的属性,我们发现这个属性不能生效,此时需要使用this.$set(‘)方法。<template> <more></more> </template> <script> import viewMore from 'viewMore.vue' export default { name: 'index', components: { more: viewMore }, data() { return { people :{} } }, created(){ this.$set(people , 'age','12'); } } </script>
组件开发遇到的问题
组件的开发和引用当我们将项目中公用的块,或者页面中多处样式一样,只是数据展示不同的地方抽取出一个个公用组件时,可以提高我们的开发效率,避免重复的工作,只需要在不同的页面引入公用的组件即可。创建一个viewMore.vue文件,定义一个组件块。
<template> <div class="xx">组件</div> </template> <script> export default { name: 'viewMore', components: {}, data() { return { } } } </script> <style scoped> 可以定义组件都有的样式 </style>
这样就可以在其它组件引用了,引用方式很简单:例如在index.vue中引进viewMore.vue组件,假设两个文件处在同级目录中。
index.vue中的代码:
<template> <more></more> </template> <script> import viewMore from 'viewMore.vue' export default { name: 'index', components: { more: viewMore }, data() { return { } } } </script>
组件之间传值,父组件传值给子组件和子组件传值给父组件
父组件传值给子组件 (:messageInfo=’message’)
在 Vue.js 中,父子组件的关系可以总结为 props down, events up 。
父组件通过 props 向下传递数据给子组件,子组件通过 events 给父组件发送消息。
例如我们在index.vue中定义一个字段,或者是ajax请求到的数据需要传递给子组的做法如下:
父组件:index.vue:
<template> <more :messageInfo='message'></more> </template> <script> import viewMore from 'viewMore.vue' export default { name: 'index', components: { more: viewMore }, data() { return { message: 'hello world' } } } </script>
子组件:viewMore.vue
<template> <div class="xx">组件</div> </template> <script> export default { name: 'viewMore', components: {}, data() { return { } }, props: { //获取父组件传递的参数 messageInfo: { type: String }, }, } </script> <style scoped> 可以定义组件都有的样式 </style>
子组件传值给父组件 (this.$emit(‘postDataToParentMethod’,’hello world’))
例如在我们现在需要将子组件中的一个值传递给父组件,平时项目中的情况可能是,在子组件触发一个事件时,或者一个ajax调用完成是需要把数据传递给父组件,我们这里简单的模拟一个点击是事件,做法如下:
子组件:viewMore.vue
<template> <div class="xx" @click="postDataToParent">组件</div> </template> <script> export default { name: 'viewMore', components: {}, data() { return { } }, props: { //获取父组件传递的参数 messageInfo: { type: String }, }, methods: { postDataToParent: function (event) { // 给父组件传值 this.$emit('postDataToParentMethod','hello world'); } } } </script> <style scoped> 可以定义组件都有的样式 </style>
父组件获取子组件的值:父组件 index.vue
<template> <more :messageInfo='message' @postDataToParentMethod="getData"> </more> </template> <script> import viewMore from 'viewMore.vue' export default { name: 'index', components: { more: viewMore }, data() { return { message: 'hello world', childData:'' } }, methods: { getDate(data){ this.childData=data } } } </script>
我么可以根据实际情况灵活使用子父组件之间的传递值来完成交互。
子组件在父组件中的点击事件
如果需要在父组件中点击子组件,那么需要使用,
@click.native=”viewMoreQueryKnowledge()”来触发事件。
相关文章推荐
- SAP公开课笔记:基于HANA的软件开发 - 第三周总结
- vue2.0开发实践总结之入门篇
- Android开发总结笔记 View的事件分发机制 3-9
- 据说是iOS开发一年总结的笔记
- Vue-cli开发笔记三----------引入外部插件
- Android开发总结笔记 RelativeLayout(相对布局) 1-1-2
- 【开发笔记】常用工具设置指定jdk的方法总结
- javaweb开发错误笔记总结
- Android开发总结笔记 Spannable(文本样式[下]) 1-1-6-3
- PHP 开发 APP 接口 学习笔记与总结 - JSON 结合 XML 方式封装通信接口
- iOS开发笔记--iOS动画(Core Animation)总结
- Android开发总结笔记 Fragment(上) 1-2-11
- 据说是iOS开发一年总结的笔记
- iOS学习笔记34-Apple Watch两个月开发的一些收获总结
- vue.js开发外卖App项目总结之webpack的详细配置(三)
- vue 2.0 开发实践总结之疑难篇
- IOS开发笔记之二十五——OC中父类与子类之间相互调用方法的总结
- LCD开发笔记-技术点总结
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [6] 版本升级接口开发
- Android进阶笔记09:Android开发经验部分总结