问题标签 [knockout-components]

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

knockout.js - 敲除组件参数处理

我似乎不明白以下内容:

我有一个使用敲除组件的 html 页面,请参见下面的代码:

HTML:

所以将参数传递给examlist

在我的淘汰考试清单组件视图模型中:

我的控制台出现错误:

未捕获的 ReferenceError:未定义 StartList

考试清单 html 标记标记:

为什么是这样?

在我的视图模型中,我可以直接访问 params.list 以获取 if 语句吗?

提前感谢您的帮助。

问候,

0 投票
1 回答
3936 浏览

knockout.js - javascript中是否可以嵌套淘汰组件

我想要这样的东西:

是否有可能在淘汰组件的帮助下实现这一目标?

0 投票
1 回答
323 浏览

javascript - 在视图模型中访问 KO 组件字段

我创建了我的第一个 KO 组件:

组件.js

团队-dropdown.html

这是我想在哪里使用该组件的观点:

我的精简视图模型:

如何引用我在 self.addFixture 的组件中选择的项目?

0 投票
1 回答
819 浏览

javascript - 使用 knockoutjs 组件创建对话框

我已经使用带有敲除的自定义绑定来显示 jqueryui 对话框,但我想使用敲除组件功能。

所以,我想写一些类似的东西:

后来在代码中的某个地方:

问题是我不知道如何应用 $(element).dialog。当我注册淘汰组件时,我只能获取该组件的容器元素,而不能获取注入元素。

因此,componentInfo.element 是父节点,如果我使用 $(componentInfo.element) 应用对话框,我将设置为对话框父节点,那么我的窗口标签将是:

我认为它会起作用,但是这里不需要额外的 div ......或者这是完成工作的唯一方法?

什么是 knockout.components 方法来做到这一点?谢谢。

0 投票
1 回答
1204 浏览

jquery - 淘汰组件不同的模板 - gridstack.js

以下示例来自 gridstack.js 并在此处实现:

http://jsfiddle.net/m3qj3qs1/1/

html:

JS:

在示例中,加载了 4 个小部件(数组),定义了一个模板和一个剔除组件。

如何为不同的小部件指定不同的模板?每个小部件一个模板的示例?

0 投票
1 回答
370 浏览

knockout.js - 如何重用敲除组件

我最近一直在玩一个 yeoman 淘汰赛模板,我一直在尝试制作一个简单的电子邮件网站。我设法通过 json 请求检索了我的电子邮件。但我现在想做的是在显示基本电子邮件信息的表格行下方的手风琴式下拉菜单中显示电子邮件的内容。我的电子邮件有一个淘汰组件,我为我的电子邮件详细信息构建了另一个组件。在单击按钮之前,我不想加载电子邮件详细信息组件,然后在电子邮件详细信息模板展开时填充它。

到目前为止,我已经到了扩展手风琴的地步,但我对如何填充电子邮件详细信息组件有点茫然。我将通过 ajax 调用来执行此操作,以从 msg_id 值返回电子邮件详细信息 JSON。

任何帮助都会很棒。

我的电子邮件页面看起来像这样

行动项目

我的按钮事件代码

我不太确定如何绑定和填充相关组件?

0 投票
1 回答
625 浏览

javascript - 淘汰赛组件 - 不能多次应用绑定

我正在尝试使用淘汰组件创建一个页面,如果没有同时添加它们,我在尝试绑定页面中的多个组件时遇到了一些麻烦。据我所知,我无法直接访问组件的视图模型,将其绑定到特定元素。

我的问题是,因为我因此必须使用更通用的

如果我稍后将另一个组件添加到页面并想要绑定它,我会收到“您不能将绑定多次应用于同一元素”。错误。

我有什么方法可以访问组件视图模型并直接应用它吗?

我试过只使用

我的解释可能有点难以理解,这是我正在尝试做的伪代码:

0 投票
1 回答
1209 浏览

knockout.js - $component 在 KO 组件内的 foreach 绑定中不正确

JS Fiddle 显示问题:http: //jsfiddle.net/davetropeano/58vm9r6g/7/

我有一个呈现可观察数组的自定义组件。列表元素是只读的,我试图支持让用户删除元素。

这是模板:

以及 ViewModel 和注册码:

添加到可观察数组工作正常。但是,如果您在其中一行上单击删除,则会出现错误:

看起来正在发生的事情是 $component 不是组件视图模型的上下文 - 它只是 foreach 绑定中的项目。我尝试了 $parent 具有相同的效果。

有没有办法在 foreach 循环中访问组件的视图模型?

(JS Fiddle 显示问题:http: //jsfiddle.net/davetropeano/58vm9r6g/7/

0 投票
1 回答
615 浏览

javascript - 如何在我的淘汰组件模板中访问我的视图模型变量?

我正在尝试使用 Knockout 组件/模板创建说明步骤列表。

UL 将包含一个步骤列表(使用淘汰注册的自定义元素sidebar-step),这只是<li></li>. 我的模型中有另一个值this.testVar部分,它可以包含<li>诸如class之类的属性,或者可能是"data-customAttribute"

我的问题是,如何将我的testVar价值包含在模板中?我想要它,以便它可以输出如下行:

<sidebar-step class=*testVar* params="vm: sidebarStepModel">Message 1</sidebar-step>

小提琴:https ://jsfiddle.net/uu4hzc41/1/

HTML:

JavaScript:

0 投票
1 回答
543 浏览

javascript - 为什么它以随机顺序初始化这个 Knockout.js 组件?

我已经超越了困惑...

我正在使用 Knockout.js 组件、模板和自定义元素创建一个列表。Viewmodel出于某种原因,我在自定义元素定义中以随机顺序初始化了我在其中创建的步骤!而且它是完全随机的,所以每次都不一样!

为了更好地说明这一点,最好查看JSFiddle。我把alert("break")每一步初始化后。加载一次,然后再次单击“运行”以正确查看演示。查看输出窗口,您可以看到除了首先编写步骤 1 之外,这些步骤总是随机出现(尽管它们最终保持它们的顺序)。

https://jsfiddle.net/uu4hzc41/8/

我需要以正确的顺序排列这些,因为我会将模型中的某些属性添加到数组中。当它们是随机的时,我无法正确访问数组元素。

HTML:

JS/淘汰赛: