Knockout.js 绑定仅在浏览器刷新后工作
我在的帮助下创建了一个自定义绑定 我有一个页面,在第一次加载页面时不调用绑定,但在刷新页面时调用绑定。(按F5键)对于我拥有的所有其他页面,绑定工作与预期一样,我在其他地方从未见过这种行为 到目前为止,我注意到:Knockout.js 绑定仅在浏览器刷新后工作,knockout.js,Knockout.js,我在的帮助下创建了一个自定义绑定 我有一个页面,在第一次加载页面时不调用绑定,但在刷新页面时调用绑定。(按F5键)对于我拥有的所有其他页面,绑定工作与预期一样,我在其他地方从未见过这种行为 到目前为止,我注意到: 据我所知,视图模型中的数据是相同的 当我在绑定源代码的init函数中设置一个断点时,该断点会在它工作的时间上出现。当它不起作用时,就永远不会达到断点。我真的需要调用预处理,但我一直把断点放在init中,因为它位于文件的顶部。如果我把断点放在预处理函数中,我会得到同样的结果 当我在in
- 据我所知,视图模型中的数据是相同的
- 当我在绑定源代码的init函数中设置一个断点时,该断点会在它工作的时间上出现。当它不起作用时,就永远不会达到断点。我真的需要调用预处理,但我一直把断点放在init中,因为它位于文件的顶部。如果我把断点放在预处理函数中,我会得到同样的结果李>
- 当我在init函数外部和上方放置断点时,每次都会命中断点。这意味着绑定已创建
- 这是针对一个表,当我在表上方放置一个span并用toJSON()显示$data时,无论它是否工作,数据看起来都是一样的
我正在使用一个只有一行的结果集进行测试
那么,什么会导致不调用绑定呢?在knockout-3.1.0.debug.js中,我可以找到以下代码:(第2455行) 当页面无法工作时,自定义绑定尚未加载,因此此函数返回undefined。所以问题根本不在于击倒,而在于执行的顺序
现在要弄清楚为什么加载此自定义绑定的时间与此页面不同,而与其他任何页面不同…当web控制台没有达到预期效果时,是否有错误输出?您是否确保在应用绑定之前加载页面?@adamdc78,否。正如您可以看到的那样,在每个数据库中都没有数据绑定。在我删除这些之前,我会得到一个错误,但这是由于预处理内部的for-each没有被调用。因此,我简化了s,现在控制台中没有错误,但仍然没有调用自定义绑定。您必须共享更多代码,html标记不足以进行调查。如果可能,请创建一个演示链接(例如使用JSFIDLE)
<tbody data-bind="footable: items">
<tr class="footable-even" style="display: table-row;">
<td class="footable-visible footable-first-column"><span class="footable-toggle"></span></td>
<td class="footable-visible"></td>
<td class="footable-visible"></td>
<td class="footable-visible footable-last-column"></td>
</tr>
</tbody>
ko['getBindingHandler'] = function(bindingKey) {
return ko.bindingHandlers[bindingKey];
};