问题标签 [knockout-2.0]

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

knockout.js - 如何使用淘汰赛js从子数组访问父变量

我正在使用淘汰赛并有一个数组“属性”,每个“属性”都可以有子“属性”

一切都很好,除了应该继承数组“TabID”的一个属性 - 例如,如果它在父“Property”上更改,它也应该在子“Property”上更改

我试图通过使用创建计算来使其工作,例如。

然后意识到 $parent 仅在 foreach 循环中可用

我也尝试过在构造函数中传递父级,例如

有人可以指出我正确的方向吗?作为旁注,我还需要能够访问父级以进行基于零的 [i] 计算

也就是说,每个父属性应该是 properties[i].propitem 其中 i = 基于每个父级 + 它们的子级属性的计算值

例如:如果父属性 1 有 3 个子属性,那么父属性 1 应该是 i=0,子属性 (i=1,2,3),然后父属性 2 的“i”应该是 4

我知道...我要求不高,我并不期待我的问题有一个完美的解决方案,但如果有人至少能指出我正确的方向,我将非常感激。

干杯。

0 投票
2 回答
1947 浏览

knockout.js - 淘汰赛 simplegrid 中的复选框

我正在使用淘汰赛 simplegrid。绑定到它的 json 对象中的一个属性是布尔值。它当前在网格中显示为“真”或“假”。

我需要的是一个允许用户单击的复选框(这反过来会向服务器触发命令)。

这可能与 SimpleGrid 吗?

0 投票
1 回答
2138 浏览

jquery-ui - 带有 jQ​​uery UI 拖放的 Knockoutjs 在 IE8 中失败

我正在使用带有 jquery 拖放的 knockoutjs,它在 Chrome、Firefox、IE9 中运行良好,但在 IE8 中运行良好。我无法发布实际代码,但我创建了一个可以重现错误的 jsfiddle 示例。请查看http://jsfiddle.net/wired1/P9hns/20/ 它在最新的 Firefox、Chrome 和 IE9 中运行良好。但是在 IE8 中尝试拖动时出现以下错误:

IE8 错误 #1

SCRIPT5007:无法获取属性“选项”的值:对象为空或未定义 jquery-ui.1.8.18.js,第 1412 行字符 13

这是jquery ui中引用​​的代码:

就是stop函数中变量o的声明:var o = $(this).data('draggable').options;

如果我在 jquery ui 中注释掉这两行,我会收到以下错误:

IE8 错误 #2

SCRIPT5007:无法获取属性“选项”的值:对象为 null 或未定义 jquery-ui.1.8.18.js,第 1439 行字符 38

这指向:

这是上面代码片段的最后一行,其中o = i.options

如果我将 {scroll: false} 设置为 jqueryui 可拖动的选项,错误就会消失,但它仍然不起作用。

似乎当我开始按顺序拖动所有事件时,即使未释放鼠标单击(在 jsfiddle 中运行代码测试时,请查看控制台以查看日志)。

是 jquery ui 问题还是我做错了什么?对此的任何帮助将不胜感激。

0 投票
1 回答
564 浏览

knockout.js - KO:“Throttle”扩展器是否会降低 PausableComputed 的实用性?

像我之前的许多其他 Knockout 开发人员一样,我在 IE 中遇到了“运行缓慢的脚本”警告

在分析我的客户端脚本之前,我想看看其他人是如何解决类似问题的。[顺便说一下,这是我找到的最好的 Knockout 分析建议。]


这是我的两部分问题:

  1. 引入扩展器是为了解决PauseableComputedsthrottle试图解决的相同问题吗?
  2. 解决 IE 中“运行缓慢的脚本”警告的两个同样好的结构吗?
0 投票
2 回答
4026 浏览

knockout.js - KO:用 ko 实用方法遍历可观察数组是不是很糟糕?

这篇文章

我首先建议您优化您的dependentObservable(又名computed)。当你读取任何 observable 时,Knockout 会在 Dependency Manager 中注册一个对它的依赖...

我可以在您的伪代码中看到您正在 while 循环中访问 this.ParentList() 。这意味着 registerDependency 将被调用 3000 次,并且依赖数组将被扫描 3000 次,这对 IE 不利(因为它没有内置的 Array.indexOf 方法)。

所以我的第一个建议是:在循环之前阅读所有的 observables。

考虑到这个好建议,这是我的问题:

observable使用 ko 实用方法(如下所示)遍历数组是不是很糟糕?[假设这this.mySelectListItems()是一个observableArray]:

换句话说,做以下事情有什么好处吗?

0 投票
2 回答
197 浏览

javascript - 使用 KnockoutJS,如何指定要绑定的 ViewModel?

这是一个非常简单的问题,所以我真的希望有一个简单的解决方案。我不想使用任何外部模板库,因为虽然我熟悉 EmberJS,但 Ember 对我目前正在处理的应用程序来说太过分了。

我已经设置了一个快速的 JSFiddle:http: //jsfiddle.net/zeEFP/3/

0 投票
1 回答
778 浏览

knockout.js - 使用 Mapping 插件的 Knockoutjs Cascading 下拉列表:未定义的引用错误

我正在尝试基于 Knockout.js Cart 示例创建一个级联下拉列表,但使用 Mapping 插件来获取我的数据。

我的映射插件工作正常,模板工作正常,第一个选择很好,但第二个选择出错。

错误:

消息:ReferenceError:PayCodes 未定义;绑定值:options:PayCodes, optionsValue:'Value', optionsText:'Text', value: $parent.PayCodeId

换行:

to:(添加了“this”关键字)

修复了错误,但第二个选择仍然不起作用。它永远不会有任何选择。PayCodes 数组存在,如附加的 JSON 数据所示。

这是复制问题的小提琴:http: //jsfiddle.net/JLhSx/13/

格式化的 JSON 在这里,以防万一。

有什么建议么?

编辑原件:

添加

在我的“with:”部分中只返回我的 PayTypeId 的 ID,因此“with:”部分没有像我预期的那样获得完整的可观察的 PayTypes 数组。我该如何重构它,以便第一个下拉列表显示 PayTypes 列表,第二个下拉列表显示所选 PayType 的 PayCodes?

更新的小提琴

谢谢!

0 投票
2 回答
619 浏览

asp.net-mvc - Knockout.js foreach 绑定值未分配给当前对象

我有一个简单的jsfiddle,我正在尝试更改每个 foreach 绑定的值。如果我尝试更改一行的值,则绑定会更新我不想要的所有其他行。这个绑定有什么问题?

更新:我将 self.lines.push 移入购物车模型

0 投票
1 回答
221 浏览

javascript - 如何在事件中写信给 ko.observable?

我正在使用敲除来进行绑定,并且正在开发共享模块。基本上,有几个链接,它们基本上都使用不同的值调用相同的函数。例如,当您单击 Facebook 时,所有服务的值为“Facebook”,而当您单击 Twitter 时,则调用值为“Twitter”的函数。但基本上调用相同的函数。现在没有办法从 HTMl 指定参数,因为我所能做的就是 data-bind="click: Share" 之类的。在这里我们可以看到我不能在这里指定任何参数。

现在我可以在我的 js 文件中创建一个 ko.observable ,这个函数将作为参数......但是当点击不同的链接时,我需要一种方法来从 html 点击事件中写入该 observable 。关于如何做的任何想法?

0 投票
2 回答
934 浏览

knockout.js - KO,Underscore.js:是否可以限制模板绑定?

使用带有 Underscore.js 模板引擎的 Knockout...


我的两部分问题:

  • 我是否正确地解决了这个问题?
  • 如果是这样,我可以限制 Underscore.js 的模板引擎(在foreach其中呈现我的ulDOM 元素?