Vue.js router-view 传递的 prop 数据应该在浏览器的开发工具中可见吗?
Vue.js should prop data passed on router-view be visible in devtools in browsers?
我正在向我的路由器视图组件传递一些道具,如下所示:
<router-view :zipchange="zipchange" :accountitems="accountitems" :accountloaded="accountloaded" :profilepic="profilepic" />
我刚刚注意到,当我在浏览器开发工具中检查一个元素时,所有这些数据都显示附加到每个 route/page 的顶层 div...是这样吗它应该是?没有其他道具(未在 router-view
组件上传递的道具)以这种方式显示...
这是它的外观示例:
这是预期的行为。当您将道具传递给路由器视图时,道具的值也会作为属性添加到组件的根元素中。
如果您不想将道具添加为属性,您应该在传递给 v-bind
的参数上使用 prop
modifier:
<router-view
:zipchange.prop="zipchange"
:accountitems.prop="accountitems"
:accountloaded.prop="accountloaded"
:profilepic.prop="profilepic"
/>
这将在 DOM 元素的 属性 而不是其属性上绑定属性值。
好吧,我找到了一种隐藏这些丑陋属性的方法:您必须在子路由中包含 prop,否则它会像上面那样被注入到 div 中。我注意到信息不在我定义道具的页面上,只在那些没有定义道具的页面上(我没有使用这些道具所以认为它们会被忽略)。因此,例如,在我的 "Dashboard.vue" 页面上,如果我像这样添加道具:
export default {
name: 'dash',
props: ['profilepic'], //<- This must be present on the child
components: {
mycomps
},
data () {
return {
dataitem: somvalue,
// ETC
丑陋终会过去。耶。希望这对其他人有帮助。
我正在向我的路由器视图组件传递一些道具,如下所示:
<router-view :zipchange="zipchange" :accountitems="accountitems" :accountloaded="accountloaded" :profilepic="profilepic" />
我刚刚注意到,当我在浏览器开发工具中检查一个元素时,所有这些数据都显示附加到每个 route/page 的顶层 div...是这样吗它应该是?没有其他道具(未在 router-view
组件上传递的道具)以这种方式显示...
这是它的外观示例:
这是预期的行为。当您将道具传递给路由器视图时,道具的值也会作为属性添加到组件的根元素中。
如果您不想将道具添加为属性,您应该在传递给 v-bind
的参数上使用 prop
modifier:
<router-view
:zipchange.prop="zipchange"
:accountitems.prop="accountitems"
:accountloaded.prop="accountloaded"
:profilepic.prop="profilepic"
/>
这将在 DOM 元素的 属性 而不是其属性上绑定属性值。
好吧,我找到了一种隐藏这些丑陋属性的方法:您必须在子路由中包含 prop,否则它会像上面那样被注入到 div 中。我注意到信息不在我定义道具的页面上,只在那些没有定义道具的页面上(我没有使用这些道具所以认为它们会被忽略)。因此,例如,在我的 "Dashboard.vue" 页面上,如果我像这样添加道具:
export default {
name: 'dash',
props: ['profilepic'], //<- This must be present on the child
components: {
mycomps
},
data () {
return {
dataitem: somvalue,
// ETC
丑陋终会过去。耶。希望这对其他人有帮助。