问题标签 [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.
javascript - 当根组件中的值更改时,子组件中的 Vue.js props 值不会更新
我已经从我的根组件收到了道具。通过<template>
我测试,{{firstdata}}
当根组件中的值发生变化时,它会更新,但{{topic}}
它仍然与它获得的第一个值相同。似乎this.firstdata
只存储一次数据而无需进一步更新。
我这样做是 return {topic: this.firstdata
因为我需要topic
在我的 java 脚本中使用,因为我不能直接调用{{firstdata}}
javascript 部分。有什么解决方案可以为我更新反应性topic
吗?
这就是我从父级获取更新值的方式(我提到的第一个数据是
breedKey
)
vue.js - 带有 @emit 的 Vue 道具
我没有以正确的方式使用带有@emit 的道具,但我不知道如何修复它。我需要知道正确执行此操作的非全局注册方式(顺便说一下,我对 Vue 完全陌生)..
这是我在文件中的 html parent.vue
:
这是一个定义child.vue
了deleteLayoutDialog
's prop 和 @emit 的文件:
这是我的 javascript(内部parent.vue
),其中columnLayoutName
似乎有一个NaN
值(在 chrome 开发工具中)
我应该如何更改我的html
,removeLayout
以便我正确使用道具?谢谢你。
angular - 更改标有 Input 装饰器的组件属性是否是一种好习惯
我试图在 Angular 和 Vue 中构建一个选项卡组件。当我更改组件的道具时,Vue 尖叫(在控制台中引发错误)。Angular 似乎很好。
我个人认为修改组件的输入属性是不对的。我的问题是为什么 Angular 团队没有通过在控制台中抛出错误来强制执行这一点。
Vue 将显示此消息
vue.js:634 [Vue 警告]:避免直接改变 prop,因为只要父组件重新渲染,该值就会被覆盖。相反,使用基于道具值的数据或计算属性。正在变异的道具:“选择”
vue.js - 在 vue 中使用道具设置默认地图居中
我正在使用 vue 制作一个 arc gis 驱动的应用程序,因为地图的中心可以根据用户位置进行更改,我将默认位置设置为一些道具,然后将它们传递到我的地图组件中,以便在地图组件中调用 mount()用于渲染的钩子。
我认为我非常接近正确地做到这一点,但是当我在控制台的地图组件中记录我的道具时,它说它们是未定义的。
我不确定我的应用程序代码有问题还是我的子组件代码有问题?
正如您在我的 app.vue 中看到的那样,我什至尝试传入纯整数来测试值,但它们仍然未定义。
应用程序.vue
网络地图.vue
javascript - Vue组件道具未定义
可悲的是,我对 Vue 不太熟悉,希望有人可以帮助我...
我的 index.html 中有这个:
现在,我有我的 xyz 组件:
然后,我有我的 Vue 应用程序:
现在,据我了解,该:hidden="isHidden"
部分应该将不同部分中的两个变量绑定在一起,对吗?所以当我改变isHidden
它也应该改变hidden
,因此调用被监视的函数来做一些事情。但事实证明它没有......当我的组件加载时已经hidden
是未定义的......
我是不是忘记了什么?还是我的错误可能在我的代码的“...”部分?.-.
vue.js - Vue - 无效或意外的令牌
以下代码有效:
这不会:
这是我收到的信息:
这是我的道具:
我究竟做错了什么?
编辑:
我试过了,如果我输入一个数字就可以了..所以我尝试了这个:
但仍然没有运气。
这是我当前的 VUE 文件:
javascript - 如何在 vuejs 中正确传递异步函数作为道具
我正在尝试将异步函数作为属性从外部应用程序传递给 vuejs 组件,但是我遇到了以下问题。
假设在我的非 vue 组件中我定义了这个函数
在一个系统中,我在另一个 asyncFunc2 中有 asyncFunc1,它们都执行相同的工作,但在各自的环境中采用完全不同的方式,并且两个系统都将初始化相同的 vue 组件,并将它们自己的函数作为道具传递。我无法在其中声明此函数Vue 组件,因为它需要在不同的外部环境中以不同的方式定义。
我的 Vue 组件将调用通过 prop 传递的这个函数,然后再使用它的内部方法完成它自己的工作。
所以我现在的问题是,当函数作为道具传递时,this
对 Vue 实例的引用会从原始组件更改,因此我无法正确使用我的函数。据说对象和函数是在 props 中通过引用传递的,但这里似乎并非如此。
我该如何克服这个问题?
javascript - Vue JS 非 prop 属性和禁用属性继承
我已经阅读了 5 遍以上的文档,但仍然无法理解禁用属性继承的用途,也无法理解给出的示例。
我了解道具的工作原理,它将数据从父组件传递到子组件。
父.vue
孩子.vue
这将输出 num 为 42,总数为 62。我完全理解。
但是,当涉及到禁用属性继承部分时,我假设它们指的是子组件。
“这种模式让您可以像使用原始 HTML 元素一样使用基本组件,而不必关心哪个元素实际上位于其根部:”
这甚至意味着什么?这是否意味着父母不必再将道具传递给孩子,孩子可以自动从其父母那里获取道具,坦率地说这没有意义或者完全没有父组件,他们只使用子组件?
从他们的例子中, props: ['label' , 'value'] ,如果父组件没有将这些 props 传递给它们,子组件如何接收这两个 props?
如果有人可以使用上面的 parent 和 vue 组件类比来提供一个简单的例子来说明这甚至意味着什么,我将非常感激。
谢谢你。
javascript - vue prop 始终是子组件中的默认值
我正在将一堆道具从父组件传递给子组件。在我的子组件中,我为所有道具定义了一个默认值。
Overview.vue (child)
我的父母看起来像这样:
UserSettings.vue (parent)
UserSettings.vue data (parent)
在我的孩子comp中,我想像这样将传递的数据保存在我的内部data()
:
Overview.vue (child)
现在的问题是,在我的overviewData
所有道具中的子组件内部都设置为默认值,并且它没有采用传递的道具值。