问题标签 [knockout-extensions]

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 投票
2 回答
1259 浏览

knockout.js - 检查扩展是否应用于 observable

我想对我的函数进行单元测试,该函数基本上是从一组参数(TypeScript 代码)构建一个可观察的数组:

我的测试如下所示:

如果第一个参数isRequired设置为true,如何检查是否应用了扩展(验证)(BuildObservables 中的“附加验证”部分)?

编辑:

在另一个功能中,我正在附加订阅者,但我不知道如何测试它们是否正确附加。

0 投票
2 回答
827 浏览

knockout.js - Durandal 淘汰赛 jchartfx

我正在尝试将此组件 jchartfx 与 Durandel 集成。我有一个使用没有 Durandel 的淘汰赛的独立原型,它运行良好,所以我相信这个问题与 Durandel 相关。

这是我的视图模型代码:

和我的 html 绑定

正如我所说,我在没有杜兰德尔的情况下也能完成这项工作。

这是该解决方案的脚本:

我能看到的唯一区别是这个脚本在页面加载时运行,而且我必须手动应用 ko 绑定,而不是 Durandel 为我做的。我没有收到任何错误,只是没有显示图表数据。

0 投票
2 回答
7770 浏览

knockout.js - 如何从现有的 observable 中删除扩展器?

我正在使用 Knockout Validation 插件并使用扩展器根据需要设置一个 observable:

我可以在添加后删除扩展器吗?

0 投票
2 回答
84 浏览

javascript - 淘汰赛扩展问题 - 更好的解决方案?

我是淘汰赛的新手,仍在学习如何最好地使用它。我在一个应用程序中有一些输入字段,它们与一堆实时更新的计算相关联。他们自己的领域很好,一切都很好......

除了,我需要在用户输入时格式化输入,仅用于显示(原始数据必须保留用于计算,但 3 应显示为 3% 或在另一个字段中 3000000 应显示为 3,000,000 等)。我有这个工作,但我认为我的解决方案存在一个重大缺陷,因为结果始终存在错误,并且有可能完全破坏输入字段。

因此,一个输入字段的示例,它与另一个字段相关,始终等于 100%:

一定会:

然后通过以下方式扩展:

所以,这里发生的情况是,用户输入的第一个字符格式正确,用户输入的第二个字符消失了,第三个加入第一个字符并正确格式化。如果字段是计算的或常规的 observable,也会发生同样的情况,并且计算的代码在没有应用扩展的情况下工作正常。因此,要输入 77%,您必须输入 7 - X - 7(其中 X 可以是任何值,因为它会在某个地方丢失到进程中)。

还应该注意的是,我在这个应用程序中使用了一个虚拟的 javascript 数字键盘,所以我通过 javascript 添加值(虽然这并没有影响任何其他功能,所以我不确定为什么会在这里)。

任何人都可以就我做错了什么提供建议吗?我错过了什么导致输入如此错误?我真的决定不放弃这种实时输入格式的概念,因为它可以使演示更加清晰,但是如果必须,我将仅在模糊上进行格式设置。

在此先感谢您的任何建议。

0 投票
1 回答
1964 浏览

knockout.js - 利用输入掩码使用 Knockout 自定义绑定禁用 Knockout 验证

我想使用带有输入掩码的 Knockout Validation 和 Knockout 自定义绑定(http://robinherbots.github.io/jquery.inputmask/)。示例:货币输入框,我一开始就不希望用户可以输入任何字母字符,并且我还想同时限制最小和最大金额。

在我的 JSFiddle 中,您可以看到那些不是自定义绑定的 observables 具有有效的验证,而其他的则没有。

http://jsfiddle.net/csabatoth/LkqTU/24841/