Vuejs2 自定义Vue组件的v型vs道具

Vuejs2 自定义Vue组件的v型vs道具,vuejs2,vue-component,Vuejs2,Vue Component,Vue中的v-model是一种内置功能,仅适用于少数选定的标记吗?道具功能是v-model的替代品吗?您的问题: Vue中的Is v-model是一种内置功能,仅适用于少数情况 选定的标签 是的,v-model适用于用户可以交互或修改数据的所有标签:输入、文本区域、收音机,选择 您可以对自定义HTML的内置输入类型使用v-model。Vue组件允许您以完全定制的行为构建可重用的输入。看更多 道具功能是v型的替代品吗 不,props是父组件与其子组件共享数据的方式,v-model是同一组件、表单或

Vue中的v-model是一种内置功能,仅适用于少数选定的标记吗?道具功能是v-model的替代品吗?

您的问题:

Vue中的Is v-model是一种内置功能,仅适用于少数情况 选定的标签

是的,
v-model
适用于用户可以交互或修改数据的所有标签:
输入、文本区域、收音机,选择

您可以对自定义HTML的内置输入类型使用
v-model
。Vue组件允许您以完全定制的行为构建可重用的输入。看更多

道具功能是v型的替代品吗

不,
props
是父组件与其子组件共享数据的方式,
v-model
是同一组件、表单或用户输入中的数据绑定(双向数据绑定)

我建议你阅读

您的问题:

Vue中的Is v-model是一种内置功能,仅适用于少数情况 选定的标签

是的,
v-model
适用于用户可以交互或修改数据的所有标签:
输入、文本区域、收音机,选择

您可以对自定义HTML的内置输入类型使用
v-model
。Vue组件允许您以完全定制的行为构建可重用的输入。看更多

道具功能是v型的替代品吗

不,
props
是父组件与其子组件共享数据的方式,
v-model
是同一组件、表单或用户输入中的数据绑定(双向数据绑定)

我建议你阅读

Vue中的v-model是一种内置功能,仅适用于少数选定的标记吗

默认情况下,
v-model
是一种在表单元素上工作的模型,但您也可以在自己的组件中使用它。它实际上只是接受名为“value”的属性并发出名为“input”的事件的组件的简写

以下是使用v型的任意组件的样板:

<template>
  <div>
    My value is {{displayValue}}
    <button @click="go">Change it</button>
  </div>
</template>
<script>
export default {
  name: 'exampleComponent',
  props: ['value'],
  data() {
    return {displayValue: ''}
  },
  mounted() {
    this.displayValue = this.value; // initialize internal variables
  },
  watch: {
    value() {
      // Parent property changed; update internal variables
      this.displayValue = this.value;
    }
  },
  methods: {
    go() {
      // example change handler
      this.$emit('input', "NEW VALUE"); // tell the parent to update to the new value. This will update via the watch:value()
    }
  }
};
</script>

我的值是{{displayValue}}
改变它
导出默认值{
名称:“exampleComponent”,
道具:['value'],
数据(){
返回{displayValue:''}
},
安装的(){
this.displayValue=this.value;//初始化内部变量
},
观察:{
值(){
//父属性已更改;更新内部变量
this.displayValue=this.value;
}
},
方法:{
go(){
//示例更改处理程序
this.$emit('input','NEW VALUE');//告诉父级更新为新值。这将通过watch:VALUE()更新
}
}
};
然后,父组件可以像处理任何其他表单元素一样执行

道具功能是v型的替代品吗

只有一半。道具是一种将值向下传递给子组件的方法,但道具本身并不能让您将该值的更改反馈给父组件;为此,您需要
$emit
更改后的值

(当然,你也可以不用
v-model
,使用你自己命名的道具和发射装置就可以很好地做到这一点,但我发现如果我坚持
v-model
结构,我就不必想那么多;当我六个月后回来改变一些东西时,我就更容易理解我在做什么。)

Vue中的v-model是一种内置功能,仅适用于少数选定的标记吗

默认情况下,
v-model
是一种在表单元素上工作的模型,但您也可以在自己的组件中使用它。它实际上只是接受名为“value”的属性并发出名为“input”的事件的组件的简写

以下是使用v型的任意组件的样板:

<template>
  <div>
    My value is {{displayValue}}
    <button @click="go">Change it</button>
  </div>
</template>
<script>
export default {
  name: 'exampleComponent',
  props: ['value'],
  data() {
    return {displayValue: ''}
  },
  mounted() {
    this.displayValue = this.value; // initialize internal variables
  },
  watch: {
    value() {
      // Parent property changed; update internal variables
      this.displayValue = this.value;
    }
  },
  methods: {
    go() {
      // example change handler
      this.$emit('input', "NEW VALUE"); // tell the parent to update to the new value. This will update via the watch:value()
    }
  }
};
</script>

我的值是{{displayValue}}
改变它
导出默认值{
名称:“exampleComponent”,
道具:['value'],
数据(){
返回{displayValue:''}
},
安装的(){
this.displayValue=this.value;//初始化内部变量
},
观察:{
值(){
//父属性已更改;更新内部变量
this.displayValue=this.value;
}
},
方法:{
go(){
//示例更改处理程序
this.$emit('input','NEW VALUE');//告诉父级更新为新值。这将通过watch:VALUE()更新
}
}
};
然后,父组件可以像处理任何其他表单元素一样执行

道具功能是v型的替代品吗

只有一半。道具是一种将值向下传递给子组件的方法,但道具本身并不能让您将该值的更改反馈给父组件;为此,您需要
$emit
更改后的值


(当然,你也可以不用
v-model
,使用你自己命名的道具和发射装置就可以很好地做到这一点,但我发现如果我坚持
v-model
结构,我就不必想那么多;当我六个月后回来改变一些东西时,我就更容易理解我在做什么。)

我编辑问题以反映我的核心问题我编辑问题以反映我的核心问题