对可观察数组foreach的更新删除了格式化knockoutjs
Update on observable array foreach removes formatting knockoutjs
更新链接到foreach的可观察数组将重新绘制foreach生成的所有DOM元素。在不将可观察元素与数组中对象的属性绑定的情况下,有没有一种方法可以避免DOM的完全重绘?
我显然希望重新绘制更新的特定元素,但如果我有一个隐藏/可见的元素,它会将其重置为默认值(如果它是JS onclick风格的片段)。
http://jsfiddle.net/OrganicCat/CjH87/6/
var SimpleListModel = function(items) {
this.items = ko.observableArray(items);
this.itemToAdd = ko.observable("");
this.openItem = function(data, event) {
$(event.target).next().toggle();
};
this.modifyList = function() {
var modifiedList = ["Cats", "Dogs", "Hedgehogs"];
this.items(modifiedList);
};
};
ko.applyBindings(new SimpleListModel(["Alpha", "Beta", "Gamma"]));
您可能需要稍微了解一下您的体系结构。
MVVM意味着您的整个视图应该绑定到您的viewModel。因此,所有元素都由视图模型控制。
如果你试着采取半吊子的方法,那么你会发现自己在与MVVM模式作斗争。如果需要控制foreach中元素的可见性,则需要从可观察数组中控制可见性。
希望能有所帮助。
相关文章:
- 使用php或javascript从facebook相册URL中删除多余的部分
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- jQuery中是否内置了任何字符串格式化函数
- 如何删除多行HTML排列中的空白
- 如何从rails中的代码中删除新行( )
- 删除对HTML元素的拖动
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 按顺序添加和删除类
- iframe正在添加标签,需要删除它们
- 如何在HTML输入字段中添加不可删除的后缀
- addData()从最新图表中删除.js 2.1.3-怎么了
- 对可观察数组foreach的更新删除了格式化knockoutjs
- jQuery格式化时间以删除秒并添加AM或PM
- 如何在格式化货币时删除JavaScript中的最后一个逗号
- 从JSON中删除jqGrid格式化程序的双引号
- 删除“格式化”;下拉
- 如何格式化或修剪数字以删除前缀'0'.
- 如果var status = 'Processing',我如何在格式化器中显示删除按钮?
- Highcharts柱状图与下钻,删除超链接,如格式化从x轴标签
- JQuery-删除html元素时重新格式化数字顺序