vue道具单项数据流实例分享

  

 vue道具单项数据流实例分享

  

父组件传递动态值showStoreList,子组件通过道具接收,但是如果在子组件中直接使用并修改这个值会报错;
  

  

因为父级的更新会传递给子组件,但是反过来则不行;
  

  

这种情况下,可以使用计算或手表来获取道具中的值
  

  

 vue道具单项数据流实例分享

  

以上实例不难、下面由小编整理的补充内容:

  

Vue2.x通过道具传递数据是单向的了,也就是父组件数据变化时会传递给子组件,但是反过来不行。

  

业务中会经常遇到两种需要改变道具的情况,

  

一种是父组件传递初始值进来,子组件将它作为初始值保存起来,在自己的作用域下可以随意使用和修改。这种情况可以在组内件数据再声明一个数据,引用父组件的道具,示例代码如下:

        & lt; !DOCTYPE html>   & lt; html lang=癳n”比;   & lt; head>   & lt;元charset=皍tf - 8”比;   & lt;元name=笆哟啊蹦谌?翱矶?设备宽度,初始=1.0”比;   & lt;元http-equiv=癤-UA-Compatible”内容=癷e=边缘”比;   & lt; title> Document   & lt;脚本src=" https://www.yisu.com/zixun/vue.js "祝辞& lt;/script>   & lt;/head>   & lt; body>   & lt; div id=坝τ谩北?   & lt;组件:init-count=" 1 "祝辞& lt;/my-component>   & lt;/div>   & lt; script>   Vue.component(“组件”,{   道具:[' init-count '),   模板:“& lt; div>{{数}}& lt;/div>”,   数据:函数(){   返回{   数:this.initCount   }   }   })   新Vue ({   埃尔:“#应用”,   })   & lt;/script>   & lt;/body>   & lt;/html>      

组件中声明了数据统计,它在组件初始化时会获取来自父组件的initCount,之后就与之无关了,只用维护计数,这样就可以避免直接操作initCount。

  

另一种情况就是支撑作为需要被转变的原始值传入。这种情况用计算属性就可以了,示例如下:

        & lt; !DOCTYPE html>   & lt; html lang=癳n”比;   & lt; head>   & lt;元charset=皍tf - 8”比;   & lt;元name=笆哟啊蹦谌?翱矶?设备宽度,初始=1.0”比;   & lt;元http-equiv=癤-UA-Compatible”内容=癷e=边缘”比;   & lt; title> Document   & lt;脚本src=" https://www.yisu.com/zixun/vue.js "祝辞& lt;/script>   & lt;/head>   & lt; body>   & lt; div id=坝τ谩北?   & lt; mynew-component:宽度=" 100 "祝辞& lt;/mynew-component>   & lt;/div>   & lt; script>   Vue.component (mynew-component, {   道具:“宽度”,   模板:“& lt; div:在组件内容& lt;/div>”,   计算:{   风格:函数(){   返回{   宽度:上+“px”,   背景:浅灰色,   textAlign:“中心”   }   }   }   })   新Vue ({   埃尔:“#应用”,   })   & lt;/script>   & lt;/body>   & lt;/html>      

注意:   

在JavaScript中对象和数组是引用类型,指向同一个内存空间,所以道具是对象和数组时,在子组件内改变是会影响父组件的。

  

//如此解决引用传递

  

1: var newObject=jQuery。扩展(真的,{},oldObject);

  

2: var obj={};
  

  

obj=JSON.parse (JSON.stringify (oldObject));

  

以上就是本次介绍地全部相关知识点,感谢大家的学习和对的支持。

vue道具单项数据流实例分享