父组件向子组件传值时,值已经传过来却没有触发子组件的watch监听,解决~
需求: 父组件像封装的子组件传值 (父组件属性传值,子组件props接受) 子组件接受后经过处理回显页面;
预想:子组件接受值 , 经过watch监听,在监听中处理数据,回显数据;
问题:子组件在created时已经接受了传递的值 但是却没有走监听导致无法回显 ;

传值过程:


watch:

问题来了:就是不走监听:
但是因为是公用的组件:别的页面调用时是走监听的; 难受啊aaaa
后来想是不是因为页面没有响应 要不重新渲染一下 :
引入:

总之吧就是: 改变了数据但是没有触发视图更新。
视图更新?灵机一动直接来的时候深拷贝一下值在付给本身不就视图更新了
代码:

功能倒是实现了 然后给自己挖了一个坑 报错喽~ 又开始解决报错。。。

报错信息 大概意思就是传递的值在初始化里面更改然后会被覆盖掉建议使用计算属性 也就是语法不予许这样更改父组件传递的值吧

原来是因为子组件中再修改父组件的值时会出现如上报错。。。 (百度了一下不少大兄弟都见过这报错呀 哈哈哈hh)
那我不修改了 行不 我把传来的值付给临时变量 后期都操作临时变量 ,我倒是试了一下 是好使的功能也没有问题也没有报错信息
就当快关闭页面的时候
我的初衷是啥????? 只是想更新一下视图 为啥自己搞的那么麻烦 真的是。。。刚入行见谅见谅
官方文档还是得撸啊!!!!

Vue.set();
简单点~表达的方式~简单点~
Vue.set(a,b,c) a是要更改的数据,b是数据的第几项,c是更改后的数据
响应式原理:https://cn.vuejs.org/v2/guide/reactivity.html 看啊看看!!!!!

this.$set()和Vue.set()本质方法一样,前者可以用在methods中使用。
set方法调用时,可以触发页面全部重新渲染。
最后...一句代码 解决的、。。。。。。。。

到这里一句代码就可以解决的问题
我绕了那么大一圈 打扰了打扰了。。。。。
在后期的学习中 watch 有一个属性 immediate 改为true就可以解决这个问题,实现初始化时监听 ,看这里
现在就是这心情 这表情

学无止境 不理解的东西还是太多了
那些见过的却不知道哪里用的属性 以后多多照顾
加油~~不忘初心
有幸看到这里滴小朋友~ 一起成长吧~~~~~~~~
父组件向子组件传值时,值已经传过来却没有触发子组件的watch监听,解决~的更多相关文章
- oracle 11g 服务启动时提示1053错误,服务启动不了,重新配置监听解决问题
早上发现oracle服务启动不了了,找了很多资料,没找到有用的.通过重新配置监听解决问题.
- artdialog4.1.7 中父页面给子页面传值
artdialog4.1.7中父页面给子页面传值时看了一些网友的解决方法: 在父页面声明全局变量 var returnValue=“ ”,子页面用art.dialog.opener.returnVal ...
- taro 填坑之路(二)taro 通过事件监听 实现组件间传值
1.组件传值的方式 2.事件监听原理 3.事件管理器 utils/event.js /** * 事件池(事件管理器) * 通过事件监听传值 */ class Event { constructor() ...
- React 函数组件中对window添加事件监听resize导致回调不能获得Hooks最新状态的问题解决思路
React 函数组件中对window添加事件监听resize导致回调不能获得Hooks最新状态的问题解决思路 这几天在忙着把自己做的项目中的类组件转化为功能相同的函数组件,首先先贴一份该组件类组件的关 ...
- sencha touch list tpl 监听组件插件(2013-9-15)
插件代码 /* *list tpl模版加入按钮监控 *<div class="x-button-normal x-button x-iconalign-center x-layout- ...
- vue 监听父子组件传参,对象数据变化
watch:{ 组件传参的字段 :{ handler (newV, oldV){ 这里打印 newV, oldV 就可以看到数据变化了 } , immediate: true, // 重点 deep: ...
- ios中键值编码kvc和键值监听kvo的特性及详解
总结: kvc键值编码 1.就是在oc中可以对属性进行动态读写(以往都是自己赋值属性) 2. 如果方法属性的关键字和需要数据中的关键字相同的话 ...
- js监听输入框值的即时变化onpropertychange、oninput
js监听输入框值的即时变化onpropertychange.oninput 很多情况下我们都会即时监听输入框值的变化,以便作出即时动作去引导浏览者增强网站的用户体验感. // // 要达到的效果 ...
- Js/jQuery实时监听input输入框值变化
前言在做web开发时候很多时候都需要即时监听输入框值的变化,以便作出即时动作去引导浏览者增强网站的用户体验感.而采用onchange时间又往往是在输入框失去焦点(onblur)时候触发,有时候并不能满 ...
随机推荐
- Spring Boot Security And JSON Web Token
Spring Boot Security And JSON Web Token 说明 流程说明 何时生成和使用jwt,其实我们主要是token更有意义并携带一些信息 https://github.co ...
- 使用 pdf.js 跨域问题的处理方法1
在<使用 pdf.js 在网页中加载 pdf 文件>中详细介绍了 pdf.js 的使用与集成网页开发的基本方法.展示效果如下图: 站点的目录为 http://localhost:8033/ ...
- 斯坦福机器学习课程 Exercise 习题三
Exercise 3: Multivariate Linear Regression 预处理数据 Preprocessing the inputs will significantly increas ...
- Handler的postDelayed(Runnable, long)
handler.postDelayed(myRunnable,1000)是为了轮播图片,每隔1000ms后执行一次run方法,实现轮播实例如下: public void MesageColse(){ ...
- SpringBoot整合MybatisPlus3.X之逻辑删除(三)
pom.xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId& ...
- linux安装redis 和 使用
安装 .获取redis资源 wget http://download.redis.io/releases/redis-4.0.8.tar.gz .解压 .tar.gz .安装 cd redis- ma ...
- egg-mongoose --- nodejs
项目 egg + mongoose 项目结构 配置 egg 安装模块 npm i egg-mongoose --save config/pulgin.js exports.mongoose = { e ...
- Linux性能分析
生产环境服务器变慢,诊断思路和性能评估 整机:top 代码 public class JavaDemo2 { public static void main(String[] args) { whil ...
- [翻译]Jupyter notebook .NET Core 内核预览1
当您想到Jupyter Notebooks时,您可能会考虑使用Python,R,Julia或Scala而不是.NET编写代码. 今天,我们很高兴宣布您可以在Jupyter Notebooks中编写.N ...
- Ubuntu18.04 安装在VMware 14中无法全屏问题解决
现象:在安装完Ubuntu18.04后发现在虚拟机中不能全屏,安装Vmware Tools后还是无法解决,修改分辨率亦不成功. 原因:WAYLAND限制 解决方法:取消ubuntu中的显示设备WAYL ...