问题标签 [knockout-binding-handlers]
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.
google-maps - 淘汰谷歌地图:组件与自定义绑定处理程序
当我搜索“ Knockout Google Maps ”时,我发现相当多的基于 KO 的 Google Maps 实现。我能够找到的所有这些都采用了使用自定义绑定处理程序的方法,而我最初打算将其实现为 Knockout 组件。
例子:
- http://www.codeproject.com/Articles/351298/KnockoutJS-and-Google-Maps-binding
- http://www.hoonzis.com/knockoutjs-and-google-maps-binding/
- https://github.com/manuel-guilbault/knockout.google.maps
谁能指出我正确的方向,为什么在这里更喜欢自定义绑定处理程序而不是 KO 组件?
我计划的用例是这样的:
我正在实现一个带有地址搜索结果列表的页面。到目前为止的列表是一个 KO 组件,每个列表条目由另一个 KO 组件生成,该列表组件在 foreach 绑定中重复调用该组件。在这个搜索结果列表旁边,我需要一个谷歌地图,在地图中也显示结果条目。列表、列表条目和地图之间也会有相当多的交互。
这是我到目前为止所得到的:
knockout.js - 二维淘汰赛排序不更新 UI
我正在创建一个具有第一维(表中的行)和第二维(一行中的单元格)的二维可排序容器。
单元格应该可以在一行内拖到现有行,也可以拖到动态创建的新行。应该动态删除空行。单元格被配置为占据一行中的所有空间。
如何编辑自定义 Knockout 可排序绑定(例如update
事件)?
前:
后:
更新问题:
- 将单元格 (
.sortable-cell
) 拖到新行 (.sortable-table
/.sortable-row
) 时,视图模型会更新,但 UI 不会更新 - 将单元格 ( ) 拖动到新行 ( / )
.highlight-horizontal
时不显示占位符 ( ).sortable-cell
.sortable-table
.sortable-row
knockout.js - 淘汰选项文本/选项值绑定将不起作用
为什么此绑定失败并出现“未找到值”异常?
选项数组的数据是这样的:
我已经解决了自己的问题,但是设置了 StackOverflow 面包屑路径,这样其他人就不会像我试图解决这个问题那样浪费时间。;-)
javascript - 在淘汰赛中了解可观察对象在 foreach/descendant 绑定中的根模型中的位置
这是一个非常利基的场景,理想情况下我需要能够绑定一个属性,但能够知道该属性在根视图模型中的位置。
例如,假设我有对象:
现在的问题是,如果我有这样的绑定:
现在我需要能够在name
这里解决rootModel.groups[currentIndex].name
反对只是name
。目前我认为没有办法在绑定中知道属性是"name"
因为它只看到值,所以我可能需要将它作为字符串传递,或者在绑定看起来的对象上有一个自定义属性为了。无论哪种方式,我都需要能够以某种方式获取绑定范围内每个可观察对象(与其范围内应用的 rootModel 相关)的属性路径。
我知道这看起来很疯狂,而且确实如此,但如果可能的话,这仍然是我需要做的事情。所以 foreach 只是子绑定范围发生变化并被包装的一种场景,因此对于所有场景,我需要能够构建一个property-path
用于此自定义绑定的 for 属性。
那么有没有办法做到这一点?
javascript - 淘汰绑定处理程序更新未针对 observableArray 更改触发
我正在尝试通过单个绑定处理程序访问多个值,如果在 valuesAccessor 绑定对象内发生 observableArray 更改,则绑定处理程序更新不会触发。
演示:(也在 jsFiddle 上):
knockout.js - Knockoutjs 自定义绑定处理程序方法未触发
我试图通过在淘汰赛中创建一个自定义 bindingHandler 来使 knockoutjs 和 bootstrap 模态一起玩,但由于某种原因,bindingHandler 初始化和更新函数永远不会触发(我添加了打印以验证它是否运行,这证实它没有)
这是我的 bindingHandler 声明:
还有我的html:
有任何想法吗?
knockout.js - 淘汰赛自定义绑定更新不起作用
我正在尝试为 hasFocus 添加一个自定义活页夹,使其像这样工作
};
但它永远不会进入这个功能。我正在关注这个例子
http://jsfiddle.net/mbest/tAGmp/
问题是,我的输入字段在开始时是不可见的。如果我点击某个地方,它就会变得可见。输入字段如下所示
我试图让它与硬代码值一起工作。如果它有效,那么我会将其更改为一些可观察的。有什么想法吗?
knockout.js - 淘汰赛绑定迭代
我有一个场景,基于 Observable 标志我需要迭代 ABC 和 XYZ
当前代码
我感觉代码重复。
有什么方法可以将两个 html 函数组合成一个函数吗?
由于其他一些原因,我只想更改 HTML 部分...
我是新来的淘汰赛。有人能帮我吗?
javascript - KnockoutClassBindingProvider:如何执行 foreach 绑定
我在 github 上看到了基本示例,但我无法让它与我的代码一起使用。我应该补充一点,我正在使用 durandal。
如何让绑定工作?我做错什么了吗?
输入.js
表单.js
模块.js
Module.html这不起作用。
Module.html这确实有效,但我没有为 foreach 使用 classBindingProvider。
没有错误消息,但绑定永远不会发生。我只得到 3 个空输入字段。
knockout.js - 如何将 Knockout 绑定应用于元素?
我想使用自定义敲除绑定处理程序动态设置根元素的字体大小,该处理程序根据浏览器窗口的宽度进行计算。
当我尝试应用绑定时,似乎什么也没发生,所以我尝试应用一个简单的 css 绑定:
<html data-bind="css: { bindinghandlertest: true }">
但是绑定处理程序似乎没有添加该类。
问题:KO 绑定是否只能应用于<body>
及其子项?
注意:我通过简单地ko.applyBindings();
在 DOM 就绪时调用一次来初始化整个页面上的所有绑定,根本没有任何参数。