我想把数据从可观察数组显示到视图。当我使用foreach绑定时,显示的值全部被最后一个索引值替换,如下面这样:我想显示数据A,B,C,但它显示C,C,C如果数据给出值A,B,那么它显示B,B我不知道是什么问题,因为这是我第一次在使用foreach时遇到这个问题
这是我使用的视图。Foreach部门显示得很好,但coaOperasional和detailOperasional不是。
第一个
我想把数据从可观察数组显示到视图。当我使用foreach绑定时,显示的值全部被最后一个索引值替换,如下面这样:我想显示数据A,B,C,但它显示C,C,C如果数据给出值A,B,那么它显示B,B我不知道是什么问题,因为这是我第一次在使用foreach时遇到这个问题
这是我使用的视图。Foreach部门显示得很好,但coaOperasional和detailOperasional不是。
第一个
1条答案
按热度按时间abithluo1#
您的方法中的一个根本错误是,您试图在视图模型 * 中格式化数据 *,例如格式化财务值或将内容加粗。
千万别这样。
所有的格式化都应该在视图中进行,要么通过CSS,要么通过绑定。创建一个custom binding handler来格式化财务值以供显示,要比像现在这样不断地格式化和取消格式化模型中的数字要容易得多。
其他备注:
parent
或否)显示或隐藏某些内容(例如code
的某个详细记录)也最好在视图中完成。使用if:
或ifnot:
很容易实现这一点。visible: $parentContext.$index() == 0
检查的目的。你这样做的方式,$index
* 总是 * 是0,所以这些检查什么也不做。我已经从下面的视图中删除了它们。codeop
是不必要的,也是令人困惑的,而在模型中它实际上被称为code
。data
参数,而不是3个或更多的独立参数,这对保持代码简洁也有很大帮助。var self = this;
,当你在视图模型中使用箭头函数时,this
会在方法和帮助函数中保留它的意义。比较一下当你在你应该做的地方做事情时视图模型和视图变得多么容易(我无法重现你所说的
foreach:
问题):第一个