Я обновляю свой проект нокаута до durandal и заметил, что некоторые стандартные привязки нокаута не работают должным образом.
Нокаут не имеет никакого значения между этим:
<!-- ko text: someObservable" --><!-- /ko -->
и это:
<!-- ko text: someObservable()" --><!-- /ko -->
Композиционный движок Дюрандаля, похоже, неправильно обрабатывает первый случай (без круглых скобок). Я получаю строковое представление функции dependentObservable
вместо ее значения:
function dependentObservable() { if (arguments.length > 0) { if (typeof writeFunction === "function") { // Writing a value writeFunction.apply(evaluatorFunctionTarget, arguments); } else { throw new Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters."); } return this; // Permits chained assignments } else { // Reading the value if (!_hasBeenEvaluated) evaluateImmediate(); ko.dependencyDetection.registerDependency(dependentObservable); return _latestValue; } }
Нужны ли durandal круглые скобки в конце строки привязки или это как-то настраивается?
someObservable
содержит фактическое значение, а не другое наблюдаемое значение. - person nemesv   schedule 24.08.2014