问题标签 [bindinghandlers]

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

javascript - 更新模型不会更新视图

我正在使用我认为被普遍接受的东西ko.bindingHandler.select2

但是,这似乎有几个问题。在这个问题中,我想找到一个关于如何在对模型进行更改时更新视图的答案。

我创建了一个jsFiddle来演示这个问题。我有一个简单的setTimeout()函数,可以selectedValue在 0.25 秒后设置模型,以模拟类似于模型通过 Ajax 调用加载数据的行为。在示例中,使用 Select2 时下拉列表值不会更新,但对于普通下拉列表来说似乎工作得很好。

完整解决方案: 我更新的自定义绑定现在看起来像这样......

};

在我的 HTML 中,我现在将值传递给自定义绑定。

0 投票
1 回答
1285 浏览

binding - 当图像src绑定更改时,淘汰js淡入淡出转换绑定处理程序

如果我有以下简单的 js/knockout 代码:

.js(视图模型):

看法:

如何创建一个 ko 绑定处理程序,该处理程序将在图像属性更改时执行简单的淡入淡出?

0 投票
3 回答
4299 浏览

knockout.js - Custom Binding Handlers With Knockout and RequireJS

I'm having an issue applying custom binding handlers when using knockout with requireJS. Basically, in the past I've included a global binding-handler js file that contains all my custom bindings. Now that I'm using requireJS to enforce dependencies, I'm not sure how to access these custom bindings.

I used to do create the global functions with

Now that I'm using require, I feel as if I should have a define statement

However, I don't believe the bindings will execute unless specifically called, perhaps in a shim? Does anyone have any ideas on this?

Thanks for your help,

0 投票
1 回答
2686 浏览

knockout.js - 格式化货币敲除绑定

无法让我的自定义 bindingHandlers 工作。加载时不会格式化货币,但在文本框中输入值时会格式化。我需要它在加载时格式化。

我正在使用这个工具:格式化货币

0 投票
2 回答
4476 浏览

ajax - DOM更新后如何调用Knockout bindingHandler->Update

我在 KO bindingHandler 中使用 jquery 手风琴,我必须填充手风琴 UI 使用的 DOM,根据应用程序要求使用 ajax。

我的 bindingHandler 应该像

当 observableArray (faqList) 发生变化时调用 update 方法,但此时 UI 手风琴需要已经填充的 DOM 结构,这是不正确的,似乎 KO 在调用 update 方法后创建。在 DOM 结构中填充新内容后,如何实现调用更新?

这是默认的 DOM。

代码笔

0 投票
1 回答
2002 浏览

twitter-bootstrap - Knockout.js Bindinghandlers Bootstrap.DatePicker

我正在使用带有淘汰赛的 Twitter Bootstrap.DatePicker。我遇到的问题是我无法让它正常工作。当有初始日期时它工作正常,但是当没有初始日期时,我收到以下错误:Uncaught TypeError: Cannot call method 'getTime' of undefined

HTML

绑定处理程序

我创建了一个 JSFiddle,其中演示了行为http://jsfiddle.net/DirkMolman/ACKyp/5/

我正在使用淘汰赛 2.3.0 和 Bootstrap.datepicker 1.1.3.1

我希望有人能帮我解决这个问题。

0 投票
1 回答
968 浏览

knockout.js - 如何使用自定义绑定包装 css 淘汰赛绑定?

我正在尝试创建一个自定义绑定,它将封装一系列 css 绑定。具体来说,而不是:

我要这个:

绑定将ajaxStatus是一个自定义绑定,它将启动适当的 css 绑定,而不是让这个实现细节散布在我的应用程序中。但是,cssbindingHandler 没有 init 函数,所以我不完全确定如何进行这项工作。

我想我可以订阅每个 observables 并ko.bindingHandlers['css'].update在观察到的值为true. 我考虑过的另一个可能的选择是将 css 绑定注入到 html 元素并重新绑定节点(我认为这就是这个 fiddleapplyBindingsToNode中示例的本质。

有没有人有更好的主意?

谢谢,文尼

0 投票
2 回答
4728 浏览

knockout.js - 带有 afterAdd 的 Knockoutjs foreach 自定义绑定处理程序

我想构建一个自定义 bindingHandler

ko.bindingHandlers.foreachWithHighlight,afterAdd 时有高亮效果。

从文档

但我想始终将其添加到我的 valueAccessor 并将其传递给 foreach 绑定。

添加服务器中的所有节点后,如何防止它第一次运行。我只是希望它在添加新节点时运行。

0 投票
1 回答
185 浏览

data-binding - 在扩展器中初始化/附加到 Observable 的 Observables 在页面加载时未初始化

II 创建了一个文本计数器来告诉用户他们已经输入了多少字符以及还有多少字符可用。这应该显示文本区域何时具有焦点并消失,然后文本区域失去焦点。

我创建了一个绑定处理程序,它使用扩展器来扩展传递给它的可观察对象。问题是它只有在输入文本、导航离开文本区域,然后导航回文本区域后才能工作。

如果我取消注释:

从一开始,页面就会按照我想要的方式运行,但是它违背了使用扩展器的全部目的,因为我的视图模型现在有一个来自扩展器的对象。

我必须相信我在这里缺少一些相对简单的东西。

谢谢你的帮助..

0 投票
1 回答
1274 浏览

knockout.js - 使用 Masonry 的自定义绑定,我将如何适当调整容器的大小

根据此处给出的建议以及此处给出的有关如何为 forEach 制作自定义 bindingHandler 的信息,我决定尝试为 forEach 和 Masonry 编写自己的自定义绑定。

因为元素是动态添加的,所以不会发生重绘和移动元素以填充空间。所以,这个功能需要在元素被渲染之后移动或者在每个项目被添加之后被调用。

这是我的绑定处理程序

以及实现处理程序的 HTML。

当它显示在页面上时,如果通过 append 方法呈现的元素相互叠加,则它会堆叠所有元素。

您可以在我的 bindingHandler 中看到我正在调用 bindResize 以及 layout(),它们似乎都没有任何效果。

这是它在 UI 中的样子的屏幕截图。 Knockout 的砌体示例