Vue.js 如何在Vue中正确使用道具?

Vue.js 如何在Vue中正确使用道具?,vue.js,vuejs2,vue-component,Vue.js,Vuejs2,Vue Component,我的同事和我有一个有趣的问题。他通过this.$props[propName]调用组件中的道具,但我只通过[propName]调用道具。我在Vue文档中没有发现任何关于使用$props的内容(我不知道,也许我看得不够仔细),所以我的方法对我来说更正确。我的同事认为,使用$props是立即了解它是道具还是数据的更明显的方法。我们谁是对的 Stack:Javascript+Vue2+Nuxt我理解你的同事使用这个。$props[propName]更容易理解,因为这个值来自props,你不能对它进行变

我的同事和我有一个有趣的问题。他通过
this.$props[propName]
调用组件中的道具,但我只通过[propName]调用道具。我在Vue文档中没有发现任何关于使用$props的内容(我不知道,也许我看得不够仔细),所以我的方法对我来说更正确。我的同事认为,使用$props是立即了解它是道具还是数据的更明显的方法。我们谁是对的


Stack:Javascript+Vue2+Nuxt

我理解你的同事使用
这个。$props[propName]
更容易理解,因为这个值来自props,你不能对它进行变异。 但这种方式更容易出现bug,因为prop名称没有自动完成功能,它只是一个字符串,任何开发人员都可能犯错误,IDE不会纠正它们。 当使用
this.propName
时,您将获得自动完成,如果您仍然犯错误,IDE将警告您


注意:当运行vue应用程序并更改道具时,控制台中会出现一个错误,因此我认为您使用
this是非常安全的。propName

我理解您的同事使用
this。$props[propName]
更容易理解,因为此值来自道具,您无法更改它。 但这种方式更容易出现bug,因为prop名称没有自动完成功能,它只是一个字符串,任何开发人员都可能犯错误,IDE不会纠正它们。 当使用
this.propName
时,您将获得自动完成,如果您仍然犯错误,IDE将警告您

注意:当运行vue应用程序并更改道具时,控制台中会出现错误,因此我认为使用
this.propName