- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在让 KnockoutJs beforeRemove 和 afterAdd 处理程序触发时遇到了一些问题。
这是相关的代码片段
function viewModel(list) {
var self = this;
this.items = ko.observableArray(list);
this.removeItem = function(item) {
self.items.remove(item);
}
this.removeFirst = function() {
self.removeItem(self.items()[0]);
};
this.onRemove = function(elements) {
console.log("Updating");
$(elements).addClass('transition-out');
};
}
ko.applyBindings(new viewModel(items));
<button data-bind="click: removeFirst">Remove first</button>
<ul data-bind='foreach: items, beforeRemove: onRemove'>
<li data-bind="text: name, click: $parent.removeItem"></li>
</ul>
onRemove
处理程序永远不会被解雇。
最佳答案
您要使用的语法如下所示:
data-bind='foreach: { data: items, beforeRemove: onRemove }'
beforeRemove
是
foreach
接受的选项(最终是
template
)绑定(bind)。它以您指定的方式被视为单独的绑定(bind)。如果绑定(bind)不存在,则忽略它(某些绑定(bind)是通过 allBindingsAccessor 访问的,因此 KO 不会知道这一点并且不会引发错误)。
li
,以及另一个文本节点。如果要忽略文本节点,请检查元素的(第一个参数)nodeType 是否为 1。
关于knockout.js - 在 KnockoutJS 中触发 beforeRemove、afterAdd 处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8843385/
我有一个在页面加载时通过 Ajax 获取的用户数组,并使用 foreach 绑定(bind)列出它们,如下所示: 我希望列表在页面加载时显示,没有我使用 afterAdd 对其应用的 fadeIn(
我在 knockout js 和将可观察数组显示为列表时遇到问题;在 beforeRemove 动画运行时添加项目时,被移除的元素将移动到列表的底部,而不是停留在其位置,直到动画结束并且元素被移除。
我一直在阅读 knockoutjs docs about the template binding 。具体来说,我希望能够 Hook 渲染模板的时刻,以及渲染模板被删除之前的时刻(例如,通过更改绑定(
我在尝试使用 jquery 动画时面临一些挑战,例如 fadeIn() fadeOut() with knockout。 没有动画的实例:http://jsfiddle.net/LkqTU/23801
我在让 KnockoutJs beforeRemove 和 afterAdd 处理程序触发时遇到了一些问题。 这是相关的代码片段 function viewModel(list) { var
我试图阻止用户在 React Native 中录制视频时通过 Android 后退按钮或手势返回。根据 documentation对于 React Navigation,应该使用 beforeRemo
使用 KnockoutJS 3.3.0 和原始 Ducksboard gridster 存储库的 0.5.6 版本。我有一个 observableArray 绑定(bind)到我的 gridster
我正在使用 foreach 绑定(bind)和 beforeRemove 回调,以便为我的列表项的删除设置动画。当我移除之前移除的项目上方的项目时,它工作正常,但是当我尝试移除之前移除的项目下方的项目
我的 KnockoutJS 模板如下所示: 当我从 cars() observableArray 中移除一个对象时,我想 hide() 和 remove() 被移除的元素。除了删除元素
我注意到 tabpanel的 beforeremove和 panel的 beforeclose和 close没有开火。另一方面destroy事件进行得很好。是否有任何解决方法或具有相同结果的不同事件?
我正在尝试实现 Adrian Brown 非常好的 Outlook Add-In code 3 次中有 2 次有效。 ItemAdd 和 ItemChange 事件按预期触发,但 MAPIFolder
我是一名优秀的程序员,十分优秀!