【问题标题】:Knockout extender or binding?淘汰赛扩展器或绑定?
【发布时间】:2013-08-22 23:52:04
【问题描述】:
我是 Knockout 的新手,我希望格式化计算字段的输出。具体来说,货币和百分比。我见过一些使用自定义绑定和扩展器的例子。我认为扩展器是两者的较新概念。这是否意味着扩展器是满足我需求的正确选择?我找不到任何明确的答案。
我也找不到任何已构建任何标准格式绑定/扩展器的资源。我真的需要重新发明轮子吗?似乎很奇怪,那里什么都没有……或者有更好的方法来格式化 KO 计算?
【问题讨论】:
标签:
javascript
knockout.js
knockout-2.0
【解决方案1】:
在我看来,您可以使用自定义绑定或扩展程序/扩展程序来进行格式化。这取决于您是希望在视图模型级别还是在视图本身作为绑定来强制执行逻辑。
将它放在视图模型中可确保通过 UI 或以编程方式更改的值都会影响格式化逻辑。因此,它是可靠的,但会使视图模型复杂化(尤其是如果它是由诸如映射插件之类的东西创建的)。
将其放入绑定中,简化了视图模型,同时对大多数用例有效(无需考虑对值进行编程更改)。
这是一个较旧的答案,但同时展示了两者:Formatting rules for numbers in KnockoutJS。