剔除部分约束问题
knockout partial binding issue
我刚刚遇到一个非常奇怪的问题,我有多个applyBindings(),但它们都针对不同的元素。现在,这一切过去都很好,因为一旦加载了所有资源(yepnope完全回调),就会发生这种情况,但现在它是基于(从我们的内部事件系统)引发的事件发生的,它似乎有一个奇怪的错误(说视图模型没有可观察的,但这是因为它没有找到正确的视图)。
问题是,由于某种原因,最后一个绑定似乎覆盖了所有其他绑定,所以如果我有4个具有唯一ID的元素和4个视图模型,每个视图模型都绑定到它们对应的元素,那么我希望绑定会这样发生:
element_a -> view_model_a
element_b -> view_model_b
element_c -> view_model_c
element_d -> view_model_d
然而,由于某些原因,绑定view_model_d时绑定似乎会发生变化,因此它们都变为:
element_a -> view_model_d
element_b -> view_model_d
element_c -> view_model_d
element_d -> view_model_d
正如我所说,这曾经很好地工作,但由于我们转向了应用绑定的异步方式,它似乎有点崩溃,所有绑定的元素都在html中并且是自包含的(即,它们都不是动态注入的,并且在DOM中不重叠)。此外,在firebug中调试时,视图模型和元素是正确的,没有未定义,这可以解释为什么最后一个调用会覆盖所有其他元素。
我会尝试做一个jsfiddle,但由于项目的复杂性以及外部模板和依赖关系,这是不可能的。
所有的事情都表明我做错了什么,而不是KnockoutJS,但我不明白为什么它过去工作得很好——唯一改变的是应用绑定的顺序和时间。
有人见过applyBindings渗入其他元素或覆盖以前的绑定吗?
就像往常一样,答案归结为我是个白痴。由于我使用了一个使用templateUrl作为其选项之一的外部模板加载程序,出于某种原因,它是templateUrl,由于某种原因,最初一定是有效的,但由于现在加载的顺序,它正在重新加载同一页面,而不是所需的模板,这意味着整个页面绑定将被重新加载:(
- 在指令控制器中使用$attrs时出现问题
- 将PHP变量传递给jQuery时遇到问题
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 参数变量出现ngTable指令问题
- 剑道网格jQuery动画()问题
- 我的jQuery插件参数没有正确启动,遇到了问题
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- TableExport jquery插件:文件名和扩展名问题
- JavaScript Pub/Sub属性访问问题
- JavaScript异步问题
- 如何解决Yii中的页面刷新问题
- Safari(Mac OS)上的jQuery平滑滚动问题
- jqGrid树网格问题
- 使用正则表达式评估电子邮件地址时出现性能问题
- 如何消除代码中的未定义和其他问题
- JavaScript代码问题:我正在将对象转换为数组
- AngularJS指令范围约束问题重复出现
- 剔除部分约束问题
- 淘汰简单的约束问题
- HTML表单约束的JavaScript-数字问题