Knockout扩展器或绑定

Knockout extender or binding?

本文关键字:绑定 扩展器 Knockout      更新时间:2023-09-26

我是Knockout的新手,希望格式化计算字段的输出。具体而言,货币和百分比。我看到了一些使用自定义绑定和扩展程序的例子。我认为扩展器是两者中较新的概念。这是否意味着扩展器是满足我需求的正确选择?我找不到任何确切的答案。

我也找不到任何已经构建了任何标准格式绑定/扩展程序的资源。我真的必须重新发明这个轮子吗?看起来很奇怪,什么都没有。。。或者有更好的方法格式化KO计算?

在我看来,您可以使用自定义绑定或扩展/扩展器来进行格式化。归根结底,是希望在视图模型级别强制执行逻辑,还是在视图本身中作为绑定强制执行逻辑。

将其放在视图模型中可以确保通过UI或编程方式更改的值都符合格式逻辑。因此,它是可靠的,但可能会使视图模型复杂化(尤其是如果它是由类似映射插件的东西创建的)。

将它放在绑定中,简化了视图模型,同时对大多数用例都有效(对值的编程更改并不重要)。

这是一个较老的答案,但同时演示了两者:KnockoutJS中数字的格式化规则。