问题标签 [vue-reactivity]
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 - Vuejs Es6 类反应性
我正在尝试将 vuejs 中的计算属性关联到 es6 类。我的 Vue 实例如下所示:
我的课看起来像这样
如果我尝试做这样的事情:
但是 setter 从来没有被调用过,就像失去了反应一样,我不明白为什么。
我也尝试:
我将 customClass 作为道具传递,但即使直接在组件中创建新实例也不会改变结果。
在 vuejs 文档中,我不记得有一节讨论过 es6 类中的反应性问题,所以我想知道是否有人知道为什么以及如何使我的类具有反应性。
提前致谢
javascript - 兄弟组件通信vuejs 2
我有一个 Vue 组件,它代表一个看起来像这样的页面(ParentComponent.vue):
面包屑.vue:
Content.vue(脚本部分):
路由器定义的组件(在本例中标记为 Content.vue)将放置在 ParentComponent 的路由器视图中,该组件需要与“面包屑”组件通信以更新页面标题和面包屑。
我尝试过全局事件总线,我尝试过道具传递。你会在接收到发射时注意到 console.log。它更新得很好,在 chrome 中使用 VueJS 调试器,变量被填充。但我无法让它更新 DOM/演示文稿。我已经到处搜索并获得了道具传递和全球巴士的建议,但缺少一些东西。
请帮忙 :)
提前致谢!
object - 多维对象中深度嵌套的数据对象
我有一个多维对象并使用 Vue,我试图使内部对象具有反应性。
我的对象如下所示:
填充的数据如下所示:
如果我尝试使用:
它抛出一个错误:
TypeError:无法设置未定义的属性“0”
如果我在下面尝试,它会覆盖初始值,因为它最初将对象设置为{}
将值添加到多维对象的正确方法是什么?
javascript - Vue.js 组件数组在替换为较短的数组时会错误呈现
我正在向Vue.js(2.5.16 版)介绍自己,但在理解Reactivity的问题时遇到了问题:
我有两个组件列表,其中v-for
大部分时间都正确呈现循环 - 我可以与组件交互并添加新组件。这些组件与表示“区域”的 REST API 交互,我希望其功能相当明显 - 它主要返回单个或所有“区域”的 JSON 表示,例如:
每当添加或删除区域时,应用程序都会重新加载整个区域列表。但是,由于某种原因,当我删除一个区域并触发重新加载区域时,列表会使用错误的数据呈现!无论我删除哪个区域,列表的最后一项似乎都“弹出”了,而不是预期的区域没有出现在新列表中!当我检查 app.zones 数据时,Javascript 数据中的所有内容都显示正确,但它只是没有显示在浏览器中。
以下是相关代码:
我已经阅读了几篇参考资料,似乎有一些边缘案例或其他“问题”,但这似乎不属于其中任何一个。例如,另一个问题似乎同意替换整个数组是在 Vue.js 反应性系统的约束内更改数组的一种非常简单的方法。
我检查过的其他一些指向Vue.js 文档的链接是相关的,但似乎并不指向我的问题:
有关上下文中的完整代码,请参阅此处的 github 存储库。
更新
根据评论,我在简化的JSBin中重现了这些症状。单击任何按钮可以看到,当第二个元素应该被删除时,最后一个元素会被删除!
vue.js - 如何在 VueJS 中外部触发下拉菜单的反应性
有一种情况,我需要从 VueJS 外部触发 VueJS 管理的组件的更改。
我发现我可以通过触发或调用其click()
属性来轻松地在复选框上执行此操作,但我不能对 ainput[type=text]
或select
元素执行相同的操作。
jsfiddle 在这里
我在 VueJS 文档中查看了反应性如何工作,但不明白如何在这里实现。我该怎么做?
vuejs2 - 如何在 vuejs 插件中创建反应性全局属性?
我将 $testCounter 放在一个插件中以使其成为全局:
我想在某个组件中输出它。我还需要它的值在全球范围内进行更新,并且是被动的:
我需要该属性具有反应性,我尝试了多种解决方案作为观察者、计算道具、vm.$set(...),但我找不到正确的方法来做到这一点。
vuejs2 - Vue 2.5 中的文字对象和属性反应性
为什么绑定到组件属性的文字对象的嵌套字段没有反应和观察?
例子:
当您在 my-comp 中执行此操作时:
我知道我可以玩它,但我只是问为什么不呢?有没有一种巧妙的方法使它具有反应性?
谢谢!
javascript - Vue js ajax调用后设置数据
我有一个显示用户信息的地方,当页面刷新时,我从 ajax 调用中读取用户信息并设置用户信息数据。但是由于 axios 调用的耗时过程,数据设置是在 DOM 渲染之后执行的。
HTML:
Vue.js:
刷新页面后出现此错误:
javascript - 如何启用跟踪组件道具的深度变化
我有一个像这样初始化的组件
并且有与此类似的 HTML
在哪里
所以我的问题是为什么变体 2不起作用,我应该改变什么以使我的控件对按钮单击时的值重置做出反应。或正确解释为什么(1)有效,但(2)无效 - 也将被接受为答案。
vue.js - 使用“createElement”函数时如何使道具绑定反应
我们的用例是:
- 用户点击“提款”
- 弹出带有输入字段和显示用户余额的静态字段的模态
- 用户输入他/她想要提取的金额,该金额和结果余额显示在被调用方组件中。
除了输入字段外,还有一个“全部”按钮,用户可以轻松输入等于他/她余额的数字
问题:当用户单击“ALL”时,“modal”组件会触发一个带有余额值的“input”事件,并且被调用组件接收该事件并更新其“withdrawAmount”。但是 'withdrawAmount' 应该作为 'value' 属性传递回 'modal' 并进一步更新输入字段,这不会发生。