问题标签 [ko.observablearray]

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

javascript - 敲除复制可观察数组问题

我正在尝试将一个可观察数组复制到另一个可观察数组。我有一个包含帐单地址、送货地址和复选框的表单,单击该复选框后,用户可以将所有送货信息复制到他们的帐单地址。我遇到的问题是,当我将一个可观察数组复制到另一个时,每当我对任一可观察数组进行更改时,两个可观察数组都会更新。我想将两个可观察的数组值分开,只需将值从一个复制到另一个。

我的可观察数组是使用映射插件设置的:

然后在输入送货信息并点击“使用送货地址”后将送货信息复制到帐单:

我还尝试了以下方法: 在 knockoutJS 中克隆/复制 observablearray 的最佳方法是什么?

任何帮助将不胜感激,谢谢。

0 投票
1 回答
2482 浏览

knockout.js - 将 ko.observableArray 绑定到 { value, text } 选项列表

这个jsFiddle为我的目标显示了不正确的代码。我希望每次用户选择将这一天添加/删除到除日列表中的某一天。使用淘汰赛 2.1.0。

HTML:

JavaScript:

​</p>

0 投票
2 回答
1727 浏览

javascript - 敲除绑定无法按预期操作可观察数组

我们有一个使用 Razor 和 Knockout.js 的视图来显示一个表单。表单的一部分要求用户输入值列表,我们使用 ako.observablearray来跟踪它们。该列表表示为一堆文本框,每个值一个,每个框旁边都有一个“删除”按钮,所有框下方都有一个“添加”按钮。它的工作方式类似于http://learn.knockoutjs.com/#/?tutorial=collections上的演示项目。

我们的表单以两种方式出现意外:

  1. 单击删除按钮时,它会从 中删除所有值ko.observablearray,而不仅仅是与单击的内容相对应的值。
  2. 当点击整个表单的“提交”按钮时,它会添加一个新元素,ko.observablearray而不是将表单提交到我们的服务器。

为什么我们会看到这种行为?(我知道这是两个独立的问题,但我不确定它们是否是由相同的潜在问题引起的,这就是我将它们发布在一个问题中的原因。)

这是我们的 Razor 视图:

这是我们的主要敲除代码 OP.Input.Input.Form.js:

这是 OP.Input.Input.Data.js:

0 投票
1 回答
4713 浏览

javascript - 添加ajax后淘汰可观察数组未更新

我有一个复杂对象的可观察数组。初始加载很好,所有预期的数据看起来都很好。现在我正在将新项目发布到该数组。注意:可观察数组是通过 ASP.NET ajax web api 调用加载的。

就将新项目保存到数据库而言,发布一个新项目可以正常工作,但是我的 DOM 没有用新项目更新,我不知道我错过了什么。

这是整个 ViewModel

这是我正在执行 POST 的特定片段(在 ClientList() 函数中)。

我验证了它是位于客户端变量中的 JSON,并且没有抛出错误消息,所以我很困惑。添加项目并刷新整个页面后,它将显示在列表中。

编辑:这是相关的html:

外部模板如下所示:

0 投票
2 回答
9289 浏览

knockout.js - Knockout observableArray in TypeScript

What is the proper way to initialize a Knockout observableArray in a TypeScript class?

I am doing something like this:

Looks simple enough, but when I attempt to access the agencies property as indicated, execution hangs. Did I miss something?

0 投票
1 回答
1869 浏览

knockout.js - ko.observableArray 上的 ko.DirtyFlag 总是脏的

在我的视图模型中,我有以下代码:

由于AddressList.

有没有办法指定什么值不脏或者什么时候开始监控变化?

0 投票
1 回答
12915 浏览

knockout.js - 对象属性的 observableArray 中的唯一项

我正在尝试从 knockout.js observableArray 对象中提取唯一属性,以填充下拉菜单。作为新的淘汰赛,我真的很挣扎!

我想遍历联系人列表,并使用 observableArray 中每个人对象的唯一值填充下拉菜单。因此,在下面的代码示例中,我希望在下拉菜单中填充“类型”人员列表 - 家人、朋友等。

在谷歌上找了一个类似的函数,但是它不返回任何值,即使我console.log 结果?

和 HTML 模板

任何帮助表示赞赏,作为菜鸟我迷路了!谢谢

0 投票
1 回答
2441 浏览

knockout.js - 淘汰赛映射 + 添加到可观察数组

小提琴可以在这里找到。

我正在添加一个由ko.mapping.fromJS().

在我看来,我正在通过使用数组上的属性来构建 URL attr: { href: '/Users/Summary?userId=' + ID() }

如果我想将一个项目添加到我正在使用的数组中self.Users.push()

如果我这样做,我会得到一个错误ID is not a function

所以我的问题是向数组添加项目的正确方法是什么,还是我没有href正确构建 attr?

0 投票
1 回答
493 浏览

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

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

HTML:

Javascript:

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

0 投票
1 回答
783 浏览

knockout.js - 手动订阅的 beforeChange 具有奇怪的行为

在我的视图模型中有一个文件列表、文件类型和未使用的文件类型:

我创建了一个File类,并在其中创建了一个type属性。要填写未使用的文件类型列表,请订阅 beforeChange 和其他 afterChangetype属性

想法
想法是每当您更改文件类型时,都会在更改发生之前触发一个事件,并将旧类型添加到未使用的文件类型列表中。更改后将发生另一个事件,该事件将从未使用的类型列表中删除新类型。

问题

  1. 所有文件都带有定义的文件类型数组中的第一种类型。在这种情况下,“jpeg”
  2. 通过更改文件类型,所有其他人都会遭受更改!
  3. 当您从列表中删除文件类型时typesUnusedtypes列表也可能会更改!

见:http: //jsfiddle.net/4nyVE/2/