问题标签 [vue-props]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
78 浏览

javascript - Vue.js 变量在传递给另一个组件后未定义

commentRecId我在组件A中有一个变量,我想传递它以在组件B中使用它。

我将其包含在组件A的模板中:

我在组件AshowEdit的方法中设置为 true :

到目前为止,这工作得非常好并且commentRecID确实有价值。

问题是该变量在其他组件BcommentRecId中显示为未定义,经过数小时的反复试验,我仍然不明白为什么。

在组件B中,我在道具中有这个:

并用它来引用变量:

在此处输入图像描述

有人可以告诉我我做错了什么吗?

(组分 A ) (组分 B )

0 投票
3 回答
431 浏览

javascript - 当根组件中的值更改时,子组件中的 Vue.js props 值不会更新

我已经从我的根组件收到了道具。通过<template>我测试,{{firstdata}}当根组件中的值发生变化时,它会更新,但{{topic}}它仍然与它获得的第一个值相同。似乎this.firstdata只存储一次数据而无需进一步更新。

我这样做是 return {topic: this.firstdata因为我需要topic在我的 java 脚本中使用,因为我不能直接调用{{firstdata}}javascript 部分。有什么解决方案可以为我更新反应性topic吗?

这就是我从父级获取更新值的方式(我提到的第一个数据是 breedKey

0 投票
1 回答
251 浏览

vue.js - 带有 @emit 的 Vue 道具

我没有以正确的方式使用带有@emit 的道具,但我不知道如何修复它。我需要知道正确执行此操作的非全局注册方式(顺便说一下,我对 Vue 完全陌生)..

这是我在文件中的 html parent.vue

这是一个定义child.vuedeleteLayoutDialog's prop 和 @emit 的文件:

这是我的 javascript(内部parent.vue),其中columnLayoutName似乎有一个NaN值(在 chrome 开发工具中)

我应该如何更改我的htmlremoveLayout以便我正确使用道具?谢谢你。

0 投票
1 回答
300 浏览

angular - 更改标有 Input 装饰器的组件属性是否是一种好习惯

我试图在 Angular 和 Vue 中构建一个选项卡组件。当我更改组件的道具时,Vue 尖叫(在控制台中引发错误)。Angular 似乎很好。

我个人认为修改组件的输入属性是不对的。我的问题是为什么 Angular 团队没有通过在控制台中抛出错误来强制执行这一点。

Vue 将显示此消息

vue.js:634 [Vue 警告]:避免直接改变 prop,因为只要父组件重新渲染,该值就会被覆盖。相反,使用基于道具值的数据或计算属性。正在变异的道具:“选择”

0 投票
1 回答
64 浏览

vue.js - 在 vue 中使用道具设置默认地图居中

我正在使用 vue 制作一个 arc gis 驱动的应用程序,因为地图的中心可以根据用户位置进行更改,我将默认位置设置为一些道具,然后将它们传递到我的地图组件中,以便在地图组件中调用 mount()用于渲染的钩子。

我认为我非常接近正确地做到这一点,但是当我在控制台的地图组件中记录我的道具时,它说它们是未定义的。

我不确定我的应用程序代码有问题还是我的子组件代码有问题?

正如您在我的 app.vue 中看到的那样,我什至尝试传入纯整数来测试值,但它们仍然未定义。

应用程序.vue

网络地图.vue

0 投票
3 回答
580 浏览

javascript - Vue组件道具未定义

可悲的是,我对 Vue 不太熟悉,希望有人可以帮助我...

我的 index.html 中有这个:

现在,我有我的 xyz 组件:

然后,我有我的 Vue 应用程序:

现在,据我了解,该:hidden="isHidden"部分应该将不同部分中的两个变量绑定在一起,对吗?所以当我改变isHidden它也应该改变hidden,因此调用被监视的函数来做一些事情。但事实证明它没有......当我的组件加载时已经hidden是未定义的......

我是不是忘记了什么?还是我的错误可能在我的代码的“...”部分?.-.

0 投票
1 回答
286 浏览

vue.js - Vue - 无效或意外的令牌

以下代码有效:

这不会:

这是我收到的信息:

这是我的道具:

我究竟做错了什么?

编辑:

我试过了,如果我输入一个数字就可以了..所以我尝试了这个:

但仍然没有运气。

这是我当前的 VUE 文件:

0 投票
0 回答
287 浏览

javascript - 如何在 vuejs 中正确传递异步函数作为道具

我正在尝试将异步函数作为属性从外部应用程序传递给 vuejs 组件,但是我遇到了以下问题。

假设在我的非 vue 组件中我定义了这个函数

在一个系统中,我在另一个 asyncFunc2 中有 asyncFunc1,它们都执行相同的工作,但在各自的环境中采用完全不同的方式,并且两个系统都将初始化相同的 vue 组件,并将它们自己的函数作为道具传递。我无法在其中声明此函数Vue 组件,因为它需要在不同的外部环境中以不同的方式定义。

我的 Vue 组件将调用通过 prop 传递的这个函数,然后再使用它的内部方法完成它自己的工作。

所以我现在的问题是,当函数作为道具传递时,this对 Vue 实例的引用会从原始组件更改,因此我无法正确使用我的函数。据说对象和函数是在 props 中通过引用传递的,但这里似乎并非如此。

我该如何克服这个问题?

0 投票
3 回答
8379 浏览

javascript - Vue JS 非 prop 属性和禁用属性继承

我已经阅读了 5 遍以上的文档,但仍然无法理解禁用属性继承的用途,也无法理解给出的示例。

我了解道具的工作原理,它将数据从父组件传递到子组件。

父.vue

孩子.vue

这将输出 num 为 42,总数为 62。我完全理解。

但是,当涉及到禁用属性继承部分时,我假设它们指的是子组件。

“这种模式让您可以像使用原始 HTML 元素一样使用基本组件,而不必关心哪个元素实际上位于其根部:”

这甚至意味着什么?这是否意味着父母不必再将道具传递给孩子,孩子可以自动从其父母那里获取道具,坦率地说这没有意义或者完全没有父组件,他们只使用子组件?

从他们的例子中, props: ['label' , 'value'] ,如果父组件没有将这些 props 传递给它们,子组件如何接收这两个 props?

如果有人可以使用上面的 parent 和 vue 组件类比来提供一个简单的例子来说明这甚至意味着什么,我将非常感激。

谢谢你。

0 投票
1 回答
341 浏览

javascript - vue prop 始终是子组件中的默认值

我正在将一堆道具从父组件传递给子组件。在我的子组件中,我为所有道具定义了一个默认值。

Overview.vue (child)

我的父母看起来像这样:

UserSettings.vue (parent)

UserSettings.vue data (parent)

在我的孩子comp中,我想像这样将传递的数据保存在我的内部data()

Overview.vue (child)

现在的问题是,在我的overviewData所有道具中的子组件内部都设置为默认值,并且它没有采用传递的道具值。