问题标签 [knockout-es5-plugin]

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 投票
3 回答
1294 浏览

knockout.js - 用 Knockout-es5 揭示模块模式

我正在尝试制作一个演示以使用knockout-es5 插件来简化使用显示模块模式的模型。ViewModel1 是原始的 Knockout 模型,它工作正常。ViewModel2 是尝试使用 knockout-es5 插件。遇到一些事情

  • 计算的属性不起作用,因为没有跟踪局部变量(例如 fullName1)。我可以使用 ko.defineProperty,但首先它与其他属性分开,其次必须使用 this.propertyName。
  • 由于同样的原因(例如 doSomething),成员函数所做的更改可能没有反映出来。再次使用 this.propertyName 有效,但违反了 RM 模式。

JS小提琴

0 投票
5 回答
4160 浏览

knockout.js - 使用 Knockout-ES5 时如何访问自定义绑定中的可观察对象

如果模型属性是 ko.observable(),则可以在自定义绑定中按如下方式访问这些属性。

使用 Knockout-ES5 插件时,如何在自定义绑定中获取 observable?检查下面的代码并查找注释“如何在此处获取 propertyName?”

JS Fiddle 不使用 Knockout-ES 插件时Another Look at Custom Bindings for KnockoutJS 提供

更新了模型更改为使用 Knockout-ES 插件的小提琴

0 投票
2 回答
687 浏览

knockout.js - 如何在 Breeze 和 Durandal 中使用 Knockout-ES5 插件

如何将 steve 的 Knockout-ES5-Plugin ( http://blog.stevensanderson.com/2013/05/20/knockout-es5-a-plugin-to-simplify-your-syntax/ ) 与 Breeze 和 Durandaljs 一起使用?

非常感谢!

0 投票
1 回答
187 浏览

knockout.js - 淘汰赛-es5 布尔设置器无法正常工作

我正在尝试使用带有淘汰赛 es5 的否定布尔设置器,但是使用该toggleViewModel函数的更改不会在视图中拾取。

当我使用self.showViewModelData(!self.showViewModelData())它时,它确实按预期工作。在调试器中,我可以看到视图模型中的值实际上是正确设置的,这导致我认为由于某种原因设置属性不能正常工作。

我在这里缺少什么吗?

0 投票
1 回答
405 浏览

knockout.js - 使用 Knockout ES5 的子可观察对象

Ryan N 在几篇 文章中使用了一种他称之为“子可观察对象”的技术,他将可观察对象挂在“父”可观察对象上。它看起来像这样:

这是一种非常方便的技术,我已经在几个扩展器中使用过它。使用 Knockout ES5 插件,除非您在视图模型上调用 get,否则它看起来将无法访问getObservable()。在绑定中,这看起来很难看,但有时您只是无法访问父对象所附加的对象。

是否有一种与 ES5 兼容的方法来创建和访问 sub-observables?

0 投票
1 回答
1060 浏览

knockout.js - 没有使用自定义绑定和 defineProperty 调用敲除绑定 value.update

我有一个 Knockout 扩展,knockout-secure-binding,我们遇到了一个问题

特别是在使用 时Object.defineProperty,就像knockout-es5所做的那样,当在 上触发更改事件时不会调用value绑定的函数。updateinput

我的单元测试说明了这种特殊性。这有效:

这(作为淘汰赛 es5 定义属性的方式)不起作用:

如前所述,在后一种情况下,当value.update被调用时不会被input.dispatchEvent调用。

自定义绑定正在返回它自己的valueAccessor,所以我希望问题与此有关。让我感到特别奇怪的是,它可以与对象属性一起使用,但不能defineProperty

0 投票
1 回答
317 浏览

knockout.js - Two way custom binding with knockut 3 and es5 plugin

In my custom binding, I cannot write data back to model. The problem is that there is no way to write into "writable" property.

In knockout 2 there was possibility to use allBindingsAccessor()._ko_property_writers But in version 3 there are no such thing.

My html:

Js fiddle with this example: http://jsfiddle.net/t5rWd/2/

Expected behaviour: Inputs should update after changing div content (it's contenteditable)

Current behaviour: It works like one-way binding, div get's updated but cannot update inputs.

0 投票
0 回答
168 浏览

arrays - 使用淘汰赛 ES5 跟踪模型的数组属性

我有一个模型对象,其中很少有属性是数组,如下所示:

ko.track(Object1) 不会跟踪数组属性 Prop1。如何跟踪这个数组属性?目前我正在做如下:

以上不起作用,因为在我将数组属性数据绑定到输入控件后,它们显示空值。

0 投票
1 回答
59 浏览

javascript - 淘汰 ES5 跟踪的模型属性更新时 UI 不更新

我有一个如下所示的模型:

在页面加载之前,使用 ko.track(vm.testModel) 方法跟踪模型。

在运行时单击按钮,我向该模型添加了一些属性,如下所示:

我看到 UI 使用新行进行了更新。

现在,单击另一个按钮时,我正在为属性分配值,但 UI 不会使用属性值更新:

0 投票
4 回答
78 浏览

javascript - 如何通过引用传递属性

有没有办法通过引用而不是通过值将对象属性传递给函数?

ES5 属性可以有 getter 和 setter。如何传递使用 getter 和 setter 的变量而不是 getter 的结果?

现在我必须传递对整个对象的引用,而不仅仅是我想要的单个属性。