props子组件定义的变量在父组件里没有,定义在哪里了,怎么传值的?

props子组件定义的变量在父组件里没有,定义在哪里了,怎么传值的?

props子组件定义的变量在父组件里没有,定义在哪里了,怎么传值的?

在子组件里定义了一个value变量,watch里可以监听到这个变量的变化。但是在父组件里没有找到定义这个变量,请问有可能定义在哪里了,是如何给子组件传值的?


回答:

一般来说 就是 <sub-component :value="value" /> 这里绑定的 value
如果说是使用 v-model 双向绑定的,那其实就是等于说 :value="value" @input="value = $event" 这样的赋值,因为 v-model 本质上不过是前者的语法糖。

例如说一个自定义v-model 一般都会在子组件看到 model 比如说:

export default {

name: 'SubComponent',

model: {

prop: 'checked',

event: 'change'

},

props:{

checked: Boolean

},

template: `

<input

type="checkbox"

v-bind:checked="checked"

v-on:change="$emit('change', $event.target.checked)"

>

`

}

那么就可以看到使用的是 props 下来的 checked 值作为绑定的值,并且通过 @change 事件去 emit 给父级。


本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。

以上是 props子组件定义的变量在父组件里没有,定义在哪里了,怎么传值的? 的全部内容, 来源链接: utcz.com/p/933813.html

回到顶部