vue props传值后watch事件未触发的问题
父组件传值,子组件监听,明明很简单的一个事情,硬是卡了许久(毕竟不是专业搞前端的,还是吃亏在学识浅陋)。也和自己钻牛角尖有关,想自己解决问题。
早期我写过一篇vue组件传值的文章,传值方式是这样的:

官网的简单实例也是这样的:

用中括号包含参数即可,至于参数是什么类型,你传值的时候给就行了,用的时候直接用。因为JS是弱类型语言,这块可以不指定参数类型。
当然,也可以指定,今天遇到的问题就在于这个指定了参数类型。先看官网对于参数类型的描述:

然后是做法:

下午的卡壳就在这个type上, 之前写js习惯了弱类型var的运用,不太习惯去指定这里的type,导致传递了一个对象没有被接收。无语了~
知道为什么以后事情做起来就容易很多了:

不纠结类型, 直接传过来就完事,怎么用我肯定知道,毕竟是自己写的参数。这样的好处是在配合watch事件使用时贼方便,哪怕你给子页面赋值报错了,也没事,改正就好了,重点是什么,是这样做watch事件不会因为类型错误而无法触发!!这个坑太深.... 正常来讲参数只要传了,变化了,watch事件时可以监听到的,但是我这里类型给错了直接导致watch事件不触发,页面也不报错,得硬看代码逐行调试才知道为什么。所以说有时候报错是好的, 错误信息能帮助你定位问题,而最可怕的问题反而是什么错也没有,功能出不来,这真的令人抓狂。
当然了, 参数是否指定类型以及是否给予默认值,这个得由开发者来决定,有时候还要看项目具体情况,我这里只是吐槽一下刚刚踩到的坑。网上也有其他的一些诸如watch事件不触发的问题,但我想估计没我这个坑, 可能有的人也遇到类似的问题吧。
vue props传值后watch事件未触发的问题的更多相关文章
- jquery 动态生成html后click事件不触发原因
转自:http://www.iam3y.com/html/560.html 最近在做一个项目的时候,遇到动态加载微博内容,然后点击“展开评论”后获取该微博的所有评论.这里使用了动态加载的<spa ...
- onchange监听input值变化及input隐藏后change事件不触发的原因与解决方法(设置readonly后onchange不起作用的解决方案)
转自:https://www.cnblogs.com/white0710/p/7338456.html 1. onchange事件监听input值变化的使用方法: <input id=" ...
- vue props传值方法
<template> <div class="hello"> <ul> <li v-for="(item, index) in ...
- EasyUi中的datagird中a标签的click事件无法触发?(已解决)
***************************2015-10-29 21:07************************* 问题如下: datagrid最后一列编辑中有如下a标签 { f ...
- U3D自定义Inspector项未触发保存事件的解决方案
1.问题描述与解决方案 1.1.说明 应该只有起步做U3D编辑器插件的部分同行需要了解本文. 该问题源于在做UI插件的时候,发现Inspector面板上手动修改值后,没有触发U3D编辑器本身的修改事件 ...
- Vue:渲染、指令、事件、组件、Props、Slots
如果要我用一句话描述使用 Vue 的经历,我可能会说“它如此合乎常理”或者“它提供给我需要的工具,而且没有妨碍我的工作”.每当学习 Vue 的时候,我都很高兴,因为很有意义,而且很优雅. 以上是我对 ...
- Vue:渲染、指令、事件、组件、Props
每天学习一点点 编程PDF电子书免费下载: http://www.shitanlife.com/code 如果要我用一句话描述使用 Vue 的经历,我可能会说“它如此合乎常理”或者“它提供给我需要的工 ...
- vue props 下有验证器 validator 验证数据返回true false后,false给default值
vue props 下有验证器 validator 验证数据返回true false后,false给default值 props: { type: { validator (value) { retu ...
- HTML 颜色输入框修改事件的触发,以及获取修改后的颜色
HTML 颜色输入框修改事件的触发,以及获取修改后的颜色 <!DOCTYPE html> <html lang="en"> <head> < ...
随机推荐
- Servlet实现图片读取显示
1.导入jar包:commons-io-1.4.jar 2.index.jsp: <%@ page language="java" import="java.uti ...
- Javascript--HTML DOM基础知识
1.HTML DOM是什么,以及它的作用: w3c对DOM有一系列的解释和定义,用自己理解的话来说就是:HTML DOM是html的标准对象模型,可以使JavaScript去操作(获取,修改,删除,添 ...
- 六、TreeMap的使用 及其源码解析
TreeMap中的元素默认按照keys的自然排序排列 1. 构造函数TreeMap(): 创建一个空的TreeMap ,keys按照自然排序TreeMap(Comparator comparator) ...
- # JDK7+ MethodHandle
简单例子 import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodHandles; import java.lang.i ...
- win8怎么强制删除文件
转自:https://www.jizhuba.com/zhichanglicai/20180119/5705.html 方法/步骤1.例如我们想删除桌面上的“123”文件夹,发现无法删除.2.可以这样 ...
- Axure工作区间
Axure的工作环境可进行可视化拖拉操作,可轻松快速的创建带有注释的线框图.无需编程就可以在线框图中定义简单链接和高级交互.Axure可一体化生成线框图.HTML交互原型.规格说明Word文档.以下是 ...
- 完整的ELK+filebeat+kafka笔记
之前有写过elasticsearch集群和elk集群的博客, 都是基于docker的,使用docker-compose进行编排(K8S暂未掌握) 三台服务器搭建es集群:https://www.cnb ...
- 安装mysql 好不容易成功了 却连不上
[mysqld] skip-grant-tables datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Disabling symbo ...
- Maven 发布项目到Jetty服务器———5
官网: http://www.eclipse.org/jetty/documentation/current/jetty-maven-plugin.html 1.安装配置插件 2. 运行 命令: je ...
- Window脚本学习笔记之定时关闭进程
定时关闭进程, 从字面上即可看出操作分为两个步骤,即: 1,结合“任务计划程序”,定时. “计算机->管理->计划任务程序”,作用是让系统定时启动脚本文件(bat脚本). 2,结合“nt ...