问题标签 [knockout-3.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 回答
25 浏览

jquery - 单击时为重复使用的视图设置动画

我有一个我重用的视图并提供了一个单击事件,以便用户认为他们正在更改页面。这非常适合我的需要,但是因为视图具有所有相同的文本、图像,用户会认为没有任何变化,因此没有进行选择。当用户单击图像时,我将如何为 UI 设置动画?

0 投票
1 回答
594 浏览

knockout.js - Knockout 如何订阅另一个视图模型的属性?

我正在使用淘汰组件来构建具有不同部分视图的搜索视图,这些部分视图具有自己的视图模型:

  • 搜索字段
  • 筛选

因此,搜索字段视图模型看起来像这样:

过滤器视图模型看起来像:

然后我有一个搜索虚拟机:

好的,事情就是这样。每当更改 SearchFieldVM 中的可观察查询时,我希望更改 SearchVM 中可观察的 currentQuery。

currentCategory 也是如此。

假设我的搜索视图如下所示:

然后,我如何监听搜索字段组件的查询可观察对象并过滤组件的 currentCategory 可观察对象,以便 SearchVM 注意到这些更改?

0 投票
1 回答
206 浏览

knockout.js - 如何使用 Knockout 创建弹出窗口?

我目前有一个 wijmo 网格,在绑定完成后会出现一个带有复选框的列列表。我想将复选框添加到弹出窗口中,以便仅在单击时可见。以下代码是我必须隐藏和取消隐藏选中和未选中条件的列。

0 投票
1 回答
90 浏览

knockout.js - 子节点中的 Knockout.js 文本绑定

我对 knockout.js 很陌生,我找不到这个问题的答案。

我正在尝试创建类似的东西

但是我不确定如何使用 knockout.js 来做到这一点。我尝试了以下方法,但没有奏效:

它似乎text:type是压倒一切的span,它甚至没有出现。

0 投票
1 回答
77 浏览

javascript - 如果 knockout.js 中的语句未按预期工作

我正在尝试显示字符串“未找到数据”。每当数据数组为空时,在表格行内,但无论如何似乎总是会打印消息。

在线复制(忽略条件orders.length ==0

我究竟做错了什么?

0 投票
1 回答
489 浏览

javascript - jqxDropDownList with knockout 无法绑定 selectedvalue

我正在尝试将 jqxDropDownList 选定值与 ko.observable 绑定,但我不知道出了什么问题。正如我在下面的 HTML 中显示的那样,它正在使用常规<select>标签并且不适用于元素。<div>我需要替换<select>为 jqwidgets 下拉列表并按照工作代码中的说明进行相应绑定。

(不起作用):在波纹管标记中,无法将值与 selectedMake 绑定,如工作示例 *2 中所示。

2* HTML(工作):

请看一下:jsfiddle.net/euto6vmj

0 投票
2 回答
53 浏览

javascript - 多视图模型破坏了 knockout.js

我正在尝试按照文档其他答案中的建议使用多个视图模型。

我在控制台中收到一个错误,抱怨未定义变量:

未捕获的 ReferenceError:无法处理绑定“foreach:函数(){return seals}”消息:未定义密封件

在线复制

HTML

JS

0 投票
2 回答
136 浏览

javascript - Knockout.js 过于冗长?

我对 Knockout 很陌生,我对它在结果 DOM 中显示内容的方式感到有些惊讶。

data连续添加了 4 个属性和一个类,我发现在检查生成的 HTML 标记以进行调试时,事情开始变得冗长。

如果我想完成这样的事情:

最终在生成的 HTML 标记中太长了:

由于许多隐藏数据(或逻辑)显示在生成的标记上,因此检查 DOM 变得更加困难。

在这类框架中这是正常的吗?(ember.js,angular.js ...)或者它只是来自knockout.js的特殊东西?

有什么办法可以防止这种“重复”吗?

0 投票
1 回答
467 浏览

knockout.js - 在敲除.js 中 foreach 完成后触发操作

我已经看到了这个问题和关于这个主题的另一个问题,但它们似乎都没有解决我的问题。

我正在尝试为表的每一行中的元素初始化一个 javascript 插件(BootStrap javascript 工具提示)。

为此,表格必须在 DOM 中呈现。这就是问题所在。据我所知,knockout.js 没有提供正确的方法来知道 a 何时foreach渲染了整个表格。

我试图通过应用我发布的第一个链接中提供的解决方案来解决它,即通过创建自定义绑定,但这在我的情况下不起作用。我猜是因为数据是通过从 AJAX 调用调用 API 来显示的。

问题的再现

我不希望在案例中使用afterRenderKnockout.js 提供的回调,foreach因为这样插件必须在每次迭代时初始化,而不是最后一次。

我找到的唯一解决方案是setTimeout在应用工具提示插件之前应用 , ,但这远非理想:

另一种解决方案是在从 API 获取数据后调用tooltip插件:

有没有更好的方法呢?

0 投票
1 回答
381 浏览

javascript - KnockoutJS:单击绑定锚标记内的复选框不可选择

我正在尝试绑定checked位于锚标记内的复选框输入,该标记本身已click绑定。

虽然我知道这可能并不完全有效(交互式内容可能不是锚标签的后代),但我仍然希望让它按预期工作——即使只是为了理解它。

目前,只click处理外部事件,并且点击永远不会到达我的复选框。

我试图实现的一个例子在这里:http: //jsfiddle.net/fzmppu93/2/

浏览了 KnockoutJS 文档后,我尝试clickBubble: true了锚标记的click绑定 - 无济于事。

如果您有兴趣,该用例是一个包含链接的无序列表 - 每个“链接”都包含有关电视节目的信息:标题、演员、图像、概要。该节目是可选择的,但也有“快速动作”将其标记为已观看、加注星标等。

是否有另一种方法可以使复选框在锚标签内工作?