vue如何监听动态元素?

MistyWood 2020-03-18 04:03:51
table里面每一行都有一个输入框,绑定的v-model是scope.row.val
用input监听只能监听到本次输入的数据,所以想要用watch监听来获取上一次的值
watch监听怎么能监听到每一行里输入框的数据呢?
...全文
1194 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
maomao19861109 2023-03-01
  • 打赏
  • 举报
回复

您好,我也遇到这个问题了,怎么解决的能说一下么

MistyWood 2023-03-13
  • 举报
回复
@maomao19861109 动态设置watch,最后一条回复里面的方法
飞猪伊姿 2020-10-28
  • 打赏
  • 举报
回复
引用 10 楼 漠子凉 的回复:
[quote=引用 9 楼 MistyWood 的回复:] [quote=引用 8 楼 漠子凉 的回复:] [quote=引用 6 楼 MistyWood 的回复:] [quote=引用 4 楼 漠子凉 的回复:] watch整个table 的data
一个table里有好几例输入框,还有动态新增行的功能监听整个table不太行[/quote] 主要是把watch对象变成一个data, 然后数据渲染和监听的时候动态去设置watch[/quote] 这个对象数组里面不仅有每个对象里元素的改变,还会存在对象的动态新增和删除,这样监听范围有点大[/quote]


	new Vue({
		watch: {
			'a.a': {}
		}
	})

	// 修改后
	var watch = {}
	new Vue({
		methods: {
			setWtach() {
				watch[ 'a.a' ] = {}
			}
		},
		watch: watch
	})
	
我说的是动态设置watch [/quote]我想问如果table的data有多条,那么setWtach方法中的watch[ 'a.a' ] = {}是不是也应该有多条呢
MistyWood 2020-03-20
  • 打赏
  • 举报
回复
引用 10 楼 漠子凉的回复:
[quote=引用 9 楼 MistyWood 的回复:] [quote=引用 8 楼 漠子凉 的回复:] [quote=引用 6 楼 MistyWood 的回复:] [quote=引用 4 楼 漠子凉 的回复:] watch整个table 的data
一个table里有好几例输入框,还有动态新增行的功能监听整个table不太行[/quote] 主要是把watch对象变成一个data, 然后数据渲染和监听的时候动态去设置watch[/quote] 这个对象数组里面不仅有每个对象里元素的改变,还会存在对象的动态新增和删除,这样监听范围有点大[/quote]


	new Vue({
		watch: {
			'a.a': {}
		}
	})

	// 修改后
	var watch = {}
	new Vue({
		methods: {
			setWtach() {
				watch[ 'a.a' ] = {}
			}
		},
		watch: watch
	})
	
我说的是动态设置watch [/quote] 解决了,非常感谢!!!
漠子凉 2020-03-19
  • 打赏
  • 举报
回复
引用 9 楼 MistyWood 的回复:
[quote=引用 8 楼 漠子凉 的回复:] [quote=引用 6 楼 MistyWood 的回复:] [quote=引用 4 楼 漠子凉 的回复:] watch整个table 的data
一个table里有好几例输入框,还有动态新增行的功能监听整个table不太行[/quote] 主要是把watch对象变成一个data, 然后数据渲染和监听的时候动态去设置watch[/quote] 这个对象数组里面不仅有每个对象里元素的改变,还会存在对象的动态新增和删除,这样监听范围有点大[/quote]


	new Vue({
		watch: {
			'a.a': {}
		}
	})

	// 修改后
	var watch = {}
	new Vue({
		methods: {
			setWtach() {
				watch[ 'a.a' ] = {}
			}
		},
		watch: watch
	})
	
我说的是动态设置watch
MistyWood 2020-03-19
  • 打赏
  • 举报
回复
引用 8 楼 漠子凉 的回复:
[quote=引用 6 楼 MistyWood 的回复:] [quote=引用 4 楼 漠子凉 的回复:] watch整个table 的data
一个table里有好几例输入框,还有动态新增行的功能监听整个table不太行[/quote] 主要是把watch对象变成一个data, 然后数据渲染和监听的时候动态去设置watch[/quote] 这个对象数组里面不仅有每个对象里元素的改变,还会存在对象的动态新增和删除,这样监听范围有点大
漠子凉 2020-03-19
  • 打赏
  • 举报
回复
引用 6 楼 MistyWood 的回复:
[quote=引用 4 楼 漠子凉 的回复:] watch整个table 的data
一个table里有好几例输入框,还有动态新增行的功能监听整个table不太行[/quote] 主要是把watch对象变成一个data, 然后数据渲染和监听的时候动态去设置watch
漠子凉 2020-03-19
  • 打赏
  • 举报
回复
引用 6 楼 MistyWood 的回复:
[quote=引用 4 楼 漠子凉 的回复:] watch整个table 的data
一个table里有好几例输入框,还有动态新增行的功能监听整个table不太行[/quote] 我记得我之前做个一个动态watch
MistyWood 2020-03-18
  • 打赏
  • 举报
回复
引用 4 楼 漠子凉 的回复:
watch整个table 的data
一个table里有好几例输入框,还有动态新增行的功能监听整个table不太行
MistyWood 2020-03-18
  • 打赏
  • 举报
回复
引用 3 楼 ludousha 的回复:
[quote=引用 2 楼 MistyWood 的回复:] [quote=引用 1 楼 ludousha 的回复:] watch里第二个参数是上一次的值
对,所以我想用watch来监听数据 但是这个输入框是表格动态生成的,绑定的v-model是scope.row.val,应该怎么用watch监听呢 [/quote] 监听了需要做什么事情?[/quote] 校验输入框输入值,只能有一个小数点,最多两位小数。想用正则校验之后如果不符合再把它给赋值成上一次的值
漠子凉 2020-03-18
  • 打赏
  • 举报
回复
watch整个table 的data
ludousha 2020-03-18
  • 打赏
  • 举报
回复
引用 2 楼 MistyWood 的回复:
[quote=引用 1 楼 ludousha 的回复:] watch里第二个参数是上一次的值
对,所以我想用watch来监听数据 但是这个输入框是表格动态生成的,绑定的v-model是scope.row.val,应该怎么用watch监听呢 [/quote] 监听了需要做什么事情?
MistyWood 2020-03-18
  • 打赏
  • 举报
回复
引用 1 楼 ludousha 的回复:
watch里第二个参数是上一次的值
对,所以我想用watch来监听数据 但是这个输入框是表格动态生成的,绑定的v-model是scope.row.val,应该怎么用watch监听呢
ludousha 2020-03-18
  • 打赏
  • 举报
回复
watch里第二个参数是上一次的值

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧