问题标签 [ko-custom-binding]

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

knockout.js - 为 knockoutjs 自定义绑定处理事件

我正在尝试使用 knockoutjs 自定义绑定开发一个小部件。

小部件将为登录的用户订阅一个可观察的对象,以便当用户登录/退出时其 UI 会发生变化。我发现订阅必须在init函数中完成,但是一旦小部件被销毁,即从 DOM 中删除,我无法弄清楚在哪里处理订阅。

文档提到init并且update- 但是我如何“处置”自定义绑定?

0 投票
1 回答
547 浏览

knockout.js - 将自定义绑定的值传递给自定义绑定中添加的 DOM 元素

我正在尝试使用 knockoutjs 自定义绑定来创建组件。这可能不是一个好主意,如果有其他方法可以做同样的事情,我愿意接受其他选择。

这个想法是为元素设置自定义绑定,以便根据传递给绑定的数据填充元素内容。

例如(在玉模板中),我会写:

我有以下(为问题简化)自定义绑定:

value是一个我想使用绑定绑定到跨度内容的可观察对象text。我的问题是我不知道要放入什么,theDataThatWasPassedToTheBinding所以它等于$data.somePropertyHoldingSomeData作为绑定的值传递。

我试过了:

这可能吗?

0 投票
1 回答
732 浏览

knockout.js - 敲除自定义绑定多次触发

我有一个自定义绑定,它为页面上使用相同绑定的每个元素触发,即。当我在第一个字段中输入文本时,此代码将触发绑定 3 次。

我怎样才能让它只开火一次?我试过淘汰赛 v2.3 和 v3。

我在http://jsbin.com/UKewOvu/2/edit?html,js,console,output有一个关于该问题的工作示例

这是代码:

0 投票
1 回答
3510 浏览

knockout.js - 淘汰赛:如何从自定义绑定更新另一个绑定?

optionsCaption 绑定通常存在问题:即使只有一个元素,它也总是会显示。我们使用自定义绑定解决了这个问题:

更新到淘汰赛 3.0 后 allBindings 变为只读。因此,实际上跳过了任何更改。任何想法如何在 ko 3.0 中解决?我们确实有很多这样的自动选择,并且不想在所有视图上复制粘贴一些计算代码。所以我们想要一些单一的选项/扩展点。不幸的是,正如我所见,选项绑定相当单一。

0 投票
1 回答
2061 浏览

knockout.js - 自定义绑定处理程序未触发

只是想创建我的第一个自定义绑定处理程序:

问题是,当我更新值时,它不会触发“更新”。我只在启动时触发?这是 jsfiddle 链接:http: //jsfiddle.net/dingen2010/c43hu/2/

0 投票
1 回答
251 浏览

knockout.js - 使用 select 自定义绑定

我正在尝试在淘汰赛中实现自定义绑定以创建选择元素。我不使用选择绑定的一个区别是因为我的选择总是相同的。

使用自定义绑定背后的原因是因为我有很多地方会使用相同的选择,我希望这将使我的代码更简单。所以我的尝试可以在这个小提琴中找到,目前我正在努力使用更新功能(我希望能够检索我选择的语言)。

谁能帮我这个?如果自定义绑定不是最佳选择,我不介意更改它。

0 投票
1 回答
3541 浏览

knockout.js - 带有 Knockout 自定义绑定的 Slick.js 轮播

我想在Knockout中使用很棒的圆滑轮播 ( http://kenwheeler.github.io/slick/ )。在查看了其他一些问题(https://stackoverflow.com/questions/26368176/slick-js-carousel-not-working-with-knockout-template-binding)之后,似乎要走的路是使用自定义绑定,但我无法正确加载它 - 看起来光滑的轮播在 DOM 完全加载之前正在初始化,因此它不会将最后一张幻灯片连接到第一张幻灯片。我还查看了在渲染内部 dom 元素后调用的淘汰赛 js 自定义绑定,并尝试使用子绑定上下文让自定义绑定强制子元素首先绑定。

这是html标记:

result-thumbnail 是一个单独的剔除组件,用于格式化我想在轮播中呈现的数据。在自定义绑定文件中:

我正在考虑的一些事情: - 我应该将光滑的初始化移动到更新功能吗?- 我写的自定义绑定是否需要绑定到不同的元素?- 如果我要更改resultsobservable 的值,我是否需要通过销毁然后重新创建轮播来更新 slick?

任何帮助,将不胜感激!我仍在学习自定义绑定,如果有人有过让光滑的轮播与 Knockout 一起工作的经验,那也很高兴。

0 投票
1 回答
140 浏览

knockout.js - 需要时 Knockoutjs 自定义绑定

尝试学习 Knockoutjs。我发现了一个 Knockoutjs 自定义绑定相关的代码,但这不是很好。

我只是不明白人们什么时候去自定义绑定?

1)如果可能的话,请告诉我一些情况何时可以选择自定义绑定?

2)如果有人看到代码,那么他们可以理解自定义绑定 fadeInText 和 viewModel 没有关系,但它仍然有效。如何 ?

3)如果会有多个视图模型,那么我如何在绑定时指定带有绑定名称的视图模型名称?

以上代码的jsfiddle链接http://jsfiddle.net/rniemeyer/SmkpZ/

4)如何在没有自定义绑定的情况下实现相同的输出?有可能吗?

请明智地回答我的问题。谢谢

0 投票
1 回答
100 浏览

knockout.js - 自定义绑定 - init 不断被调用

我一直在尝试使用自定义组件和 Knockout 中的自定义绑定来呈现小型可视化。我得到了这个工作,但意识到解决方案并不理想。我的自定义绑定应该通过使用转换来处理对数据的更改。

在此处输入图像描述

如果出现一个新项目,比如说E,我希望它过渡。每次绑定更改时,我还需要更新每个圆圈周围的绿色笔划。

我的问题是,当我context在下面的代码中更新绑定时,整个绑定似乎重新初始化。我认为下面的 Knockout 正在删除之前的 DOMcontext并重新渲染整个批次 - 这会导致每个圆圈增长并触发新的项目动画。

我想知道是否有什么办法可以防止这种情况发生。本质上,我希望旧context绑定只是更新,但我不确定是否有办法这样做。

我添加了一个代码片段来说明。init called每次发生更新时都会记录这里,我只希望记录一次,并update called记录多次。

0 投票
1 回答
1658 浏览

javascript - slick js的淘汰自定义绑定不起作用

我没有淘汰赛绑定的工作代码是:

并初始化光滑我的 js 代码是:

上面的代码工作正常。现在带有敲除绑定的代码是:

要将 slick 与 DOM 绑定,我的代码是:

但是自定义绑定不起作用。我做错了什么?