问题标签 [computed-observable]

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 回答
839 浏览

javascript - 计算的可观察动态变量

我有一个输入字段,当Selectbox更改其值时,应动态填充该字段。因此,我将变量绑定到输入,并将另一个值绑定到选择框的选定值。现在我希望能够以编程方式更改输入值:对于选择框的某些值,该值应该是一个空字符串,而对于其他值,我应该在用户执行某些操作时使用一些 javascript 代码来设置它。I though to use a computed function, so I can return the empty string but this lead me to a problem: how can I then set the value programmatically when the other selectbox options are selected?

0 投票
1 回答
1312 浏览

knockout.js - jqx 网格和剔除计算列

我想要一个带有计算列的简单 jqxGrid。看起来一切正常,但它不起作用。简单的例子:

这种情况正在发生:我能够更新 x 或 y,并且在下表中看到了新值,但 Sum 字段在第一次加载后永远不会更新。

0 投票
1 回答
493 浏览

jquery - 更新后计算的 Knockoutjs 不会重新计算

我正在使用一个可观察的“零件”数组,其中包含一个可观察的“Vol”。我目前有每个部分的音量以及显示的总量。当应用程序启动时,总​​金额被正确添加。但是,当我更改零件的体积时,不会重新计算总量。

HTML:

Javascript:

这是我的 JsFiddle:http: //jsfiddle.net/jwinstonaspen/Zmkew/6/

0 投票
3 回答
3055 浏览

knockout.js - knockout.js - 计算项何时重新计算依赖项?

假设你有以下js:

以及以下html:

从阅读文档中我的理解是,因为在我添加了一个调用 objectCount() 的对象后,它应该重新计算它的依赖关系。相反,它似乎甚至从未执行过该功能,只运行一次!

JSBin 演示了我的问题的简化版本。

0 投票
5 回答
45986 浏览

knockout.js - 强制计算属性函数运行

给定一个计算属性

假设 getCurrentValues() 可以返回不同的 observable 集合,这些集合在代码的其他地方被修改(并且来自比 observableArray 更复杂的结构)。

我需要checkedValueCount随时更新

  • 它的依赖项之一发生了变化
  • getCurrentValues() 返回一组不同的 observables。

问题是它ko.computed似乎记住了最后一个返回的值,并且仅在依赖项更新时才更新。这处理第一种情况,但不处理后一种情况。

我正在寻找的是一种强制 checkValueCount 重新运行的方法。我可以使用的东西像:

最简单地说,鉴于我有

如何强制调用a()两次以返回不同的值。

0 投票
1 回答
1471 浏览

arrays - 在可观察数组的切片上计算的淘汰赛,这可能吗

我正在尝试提供一种机制来编辑可观察数组中的条目。显示器将有两个部分。第一个是显示有限数量字段的数组条目,第二个将允许用户编辑所选条目的所有字段。

为此,我为数组的每个显示条目提供了一个双击事件,该事件将使用索引和计算出的 observable 来选择数组的一个切片。希望我可以使用这种方法来编辑数组条目。

问题是计算似乎不起作用,我找不到可以满足我要求的方法。我创建了一个小提琴,说明我很抱歉尝试完成这项工作

http://jsfiddle.net/rscidmore/YrsCj/

您的帮助将不胜感激。

我的代码如下所示:

我的 html 看起来像这样:

0 投票
4 回答
8300 浏览

checkbox - Knockout.js 可写计算布尔可观察绑定到复选框 - 不可靠的属性设置

我有一个复选框,它以前直接绑定到我的视图模型上的可观察属性。我在所有视图模型上使用了一个通用的脏标志,它监视视图模型上所有可观察属性的变化。

现在对于一个属性,如果用户在取消设置底层可观察对象之前尝试取消选中复选框,我希望显示确认警报。我试图将其实现为一个可写的计算 observable,它像这样包装 observable:

我所看到的(在 Firefox 和 IE 中)是,当我将 SelectedInternal 可观察值默认为 false 时,“selected”写入函数仅在我每次选中复选框时触发,而不是在我取消选中它时触发。如果我将 SelectedInternal 可观察值默认为 true,那么我第一次取消选中它时 write setter 会执行,但不会在后续取消选中时执行。

这是一个要演示的小提琴:

http://jsfiddle.net/xHqsZ/18/

这里发生了什么?有没有更好的方法来实现这一目标?

更新:这种方法可能无论如何都行不通,因为我无法钩入原始点击以返回 false,并且如果用户在确认框中选择取消,则将 observable 重置为 true 似乎没有采取影响。但我仍然想知道为什么计算的 setter 本身没有按预期运行。

0 投票
2 回答
795 浏览

model-view-controller - 如何计算带有微风.js 扩展实体的网格中的总数?

我正在使用 MVVM 模式、breeze.js 和 knockout.js 开发一个 MVC Web 应用程序。这是我第一次使用这些 js 库,我仍然需要掌握它们是如何工作的。

应用程序的其中一个页面有一个网格,其中列和行都是动态生成的。我需要添加一个额外的列,其中对于每一行我都有显示在以下行单元格中的值的总数。这里有一个例子:

网格是通过将微风实体对象 (planningItems) 绑定到模板来生成的。该对象具有属性 DataTypeId、Comment、Member、Total、FactValues。Total 是计算的总和。

我一直在尝试通过以下方式扩展微风实体对象来添加 Total 属性:

本质上,这段代码应该做的是通过添加一个名为 Total 的淘汰计算 observable 和延迟评估来扩展实体。该函数遍历微风可观察数组 FactValues 并添加值。我一直在研究这段代码的不同版本,但无济于事。谁能给我这个代码有什么问题的提示?

0 投票
1 回答
1272 浏览

javascript - Knockout.js:获取计算的 observable 以返回数组以与选择选项一起使用

基本上,我想要实现的是根据 Knockout.js 中另一个下拉列表的值填充下拉列表

我的视图代码(明显剥离):

我的视图模型(再次精简):

插入确实填充了我想要的值alert()this.generall()节目。stayOptions它正在让该数组显示在酒店列中相应行的选择选项中,这是问题所在。

可能我犯了一个非常愚蠢的错误,但我已经看了很长时间的代码,但什么也没想到。请指教。

编辑:我也在我的视图模型开始时这样做:

0 投票
2 回答
335 浏览

arrays - 淘汰赛 2:如何对可观察数组中的每个项目进行计算值。

嗨,我有一个可观察的数组

我收到错误消息说对象 [Window] 没有税收方法。

我该怎么做?