问题标签 [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 回答
6455 浏览

knockout.js - 字符串空到空自定义绑定

基于这个答案Knockout.js: time input format and value constraint,我正在尝试创建一个自定义绑定,如果值为空字符串,则将 observable 设置为 null,这是不起作用的代码,Ip observable 始终为 null模型

输入:

模型:

0 投票
1 回答
392 浏览

knockout.js - 如何在被淘汰自定义绑定包装的对象上公开函数?

我目前正在使用Bing Maps KO自定义绑定,以便在 Durandal 中轻松轻松地使用 Bing Maps 控件。

到目前为止,我已经扩展了自定义绑定以允许使用信息框,并且工作正常,因为我只需在视图模型中设置可观察对象的值并更新信息框。

现在我希望能够在自定义绑定中包含的地图对象之一上调用函数。

我希望将地图缩放到特定点。请注意,我不想设置地图中心点,但我希望调用将处理地图动画到该点的函数。

这可以通过在视图模型中设置一个可观察字段来实现,然后自定义绑定调用它的更新函数,它获取值,调用方法,然后将可观察对象重置为空。

这感觉相当 hacky 但应该可以工作,并且它并没有真正超出使用 MVVM 时应该保持的分隔线。

是否有另一种方法可以使用函数语法来实现这一点,以便更准确地描述正在发生的事情。(我要求执行一系列操作,而不是设置一个值。)

0 投票
1 回答
2823 浏览

javascript - 虚拟元素的淘汰赛绑定不起作用

我正在处理一些自定义绑定,其中一个我希望能够从一些字符串数组中显示一个表格。

小提琴

我将其简化为这个自定义绑定:

这是模板的内容:

还有一些示例数据。

我正在使用 Knockout 3.0,但是任何可以在 Knockout 2.x 上工作的东西也可以在这里工作。如果您查看小提琴,则该<thead>部分显示正确,但主体的绑定却没有。如果我内联模板并使用with绑定(如with: table.

0 投票
1 回答
1629 浏览

knockout.js - 淘汰 valueUpdate 不能与 Pagedown 一起使用?

在我看来,我有以下几点:

键入时,其行为与我预期的一样。但是我正在使用 WMD / Pagedown 编辑器来单击一个向字段添加内容的按钮,就像您创建/更新帖子时 StackOverflow 的帖子内容框一样。

如果我只是单击一个按钮(添加星号或括号等)并且不输入任何内容,则该值永远不会在contentobservable 中更新。

我确实有一个save按钮,可以在保存数据之前通过指定要更新的输入元素来触发“同步”,但我不知道这是否可能。处理这种情况的正确方法是什么?

更新:Jsfiddle 演示问题:http: //jsfiddle.net/BcuLq/

更新 2:这种行为也发生在我用来用字符串填充输入的 datetime 日期选择器上。我可以应用于所有以编程方式填充的输入的任何通用解决方案都是理想的,尽管我不确定这是否是解决此问题的合理方法。

0 投票
1 回答
114 浏览

knockout.js - 如何动态添加元素绑定?

如果我有一个自定义绑定来聚合其他类似如下:

“allBindingsAccessor”仅返回其 init 函数的当前绑定。

我期待它在 binding2“init”函数上返回 binding1 和 binding2,在 binding3“init”函数上返回 binding1、2 和 3。

以下小提琴显示了我提到的行为。 http://jsfiddle.net/J3sjq/5/

问题是我的 binding3 取决于其他绑定的存在,例如 binding2。

实现该行为的最佳方法是什么?我正在考虑修改上下文以告知其他绑定的存在,但这听起来有点像 hack。

提前致谢。

编辑:

我已经更新了我的小提琴以显示更多原始问题,我试图简化但我可能做得过火了。

http://jsfiddle.net/J3sjq/6/

在新的小提琴中, binding1 被一个 initFieldStatus 替换,它初始化 3 个其他复杂绑定,每个绑定计算一个输入字段状态, isInputAtWarning 绑定依赖于元素上声明的其他绑定。

希望这能澄清这个问题。

谢谢你。

编辑2:

我提供了一个更真实的例子来说明我正在尝试实现的内容。

http://jsfiddle.net/J3sjq/8/

0 投票
0 回答
46 浏览

c# - 与自定义类请求字符串列表的自定义绑定无效

我的 MVC 应用程序遇到了一些问题

我创建了自定义活页夹,它们适用于除我的 QueryTags 列表之外的所有内容

在我的活页夹里

我正在使用带有 jquery 弹出模式的视图,如下所示:

request.Form["QueryTags[" + (index++) + "].TagName"] 始终为空。

我假设它与 jquery 弹出窗口有关,但我已经尝试像我一样为其他没有运气的属性实现视图。

我确信这很简单,但是已经在互联网上蹦蹦跳跳了好几个小时,敲着我的脑袋却想不通。

任何帮助,将不胜感激。

0 投票
3 回答
3073 浏览

knockout.js - Knockoutjs:ScrollIntoViewTrigger

我最近遇到了一个问题,虽然我为我解决了这个问题,但我不确定是否有更好的解决方案,所以我很感激任何意见。

问题。我想创建一个“ScrollIntoView”绑定。由于将元素滚动到视图中需要 DOM 元素,因此我编写了一个自定义绑定,然后我想在我高兴的时候显式地触发它。我从这段代码开始:

};

绑定:

在 ViewModel 我有这个可观察的:

然后我可以通过调用来触发:

到目前为止,一切都很好。但是我很快遇到了问题。因为每当我将 goTothis() Observable 设置为 true 时,true 值就会一直存在,这导致一些元素滚动到视图中,而用户没有明确地触发它。例如,当我更改视图时,基本上用 if 绑定隐藏了所有元素,然后切换回来,if 绑定将重新触发之前设置为 true 的所有 goToThis 可观察对象。啊!

所以我想出了这个模式并像这样扩展了我的 custum 绑定:

基本上每次触发时都会重置布尔值。

所以我想我的问题是:有没有人写过 scrollIntoView 绑定?如果是,您是如何解决的?

一般来说,是否有编写触发器的模式?即我只想触发一个绑定,但没有真正的价值变化。

最好的问候 j

0 投票
2 回答
4282 浏览

knockout.js - 淘汰自定义html绑定

我正在尝试使用淘汰赛来创建一个 html 编辑器/预览器。我使用单个可观察对象设置了一个简单的测试,如下所示:

JS:

HTML:

当页面首次加载时,这似乎工作正常,显示一个带有“testtext”的div,但是一旦我将输入字段编辑为 <div data-bind=\"text: 'testext2'\"></div>绑定不起作用!

这是淘汰赛的限制,还是我做错了什么?有没有办法进行重新绑定?

此处提供 JSFiddle:http: //jsfiddle.net/Q9LAA/

0 投票
1 回答
1454 浏览

c# - 来自 CodeBehind 的 Silverlight 自定义绑定

我看过很多关于WShttpbinding和的例子Silverlight。此外,我成功地运行了应用程序,但我必须从后面的代码中创建自定义绑定。

我已经尝试过了,但收到如下错误:

代码

服务配置文件

0 投票
2 回答
548 浏览

.net - 从消息时间戳到发送签名请求时删除秒数

我有一个使用 TransportSecurityBindingElement 安全元素的 WCF 自定义绑定,但客户端和(第三方)服务器上的时间准确性一直存在问题。

如何删除秒以使时间戳仅精确到分钟(我被告知服务器将接受这一点)。

我的替代想法是在每次请求之前更新系统时间,但是这假设(错误地)服务器时间是准确的。我也尝试过完全删除时间戳(可能不需要),但我得到一个System.InvalidOperationException说法Signing without primary signature requires timestamp.

.Net 构建安全元素的代码:

消息头,注意(可能超出)时间戳的准确性: