Оптимизируется ли нокаут для логических операторов при оценке привязок данных? - PullRequest
2 голосов
/ 02 февраля 2012

Например, если у меня есть:

<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()?

Если это произойдет, я буду учитывать это при попытке оптимизировать мои привязки.

Заранее спасибо.

1 Ответ

4 голосов
/ 02 февраля 2012

Да, это делает короткое замыкание.

Правая часть привязок оценивается как блок произвольного javascript, а так как && и || короткая схема в javascript ...

...