【问题标题】:Does knockout optimise for logical operators when evaluating data bindings?在评估数据绑定时,淘汰赛是否会针对逻辑运算符进行优化?
【发布时间】:2023-04-10 07:38:01
【问题描述】:

例如,如果我有:

<div data-bind="visible: viewModel.property1() || viewModel.property2()" />

...如果viewModel.property1() 是true,淘汰赛仍然评估viewModel.property2()吗?

同样,如果我们有:

<div data-bind="visible: viewModel.property1() && viewModel.property2()" />

...如果viewModel.property1() 是false,淘汰赛仍然评估viewModel.property2()吗?

如果是这样,那么我会在尝试优化绑定时牢记这一点。

提前致谢。

【问题讨论】:

    标签: optimization knockout.js boolean-logic logical-operators


    【解决方案1】:

    是的,确实短路了。

    绑定的右侧被评估为任意 javascript 块,并且由于 && 和 || javascript中的短路...

    【讨论】:

    • 酷。我也是这么想的。感谢您确认这一点,科迪。
    猜你喜欢
    • 1970-01-01
    • 2013-12-30
    • 1970-01-01
    • 1970-01-01
    • 2012-06-27
    • 1970-01-01
    • 2012-11-01
    • 2013-02-04
    • 2013-12-27
    相关资源
    最近更新 更多