В настоящее время я использую knokcout js для визуализации представления.
HTML:
<div data-bind="template: {data: {ui: uistate, action: actionHandler }, afterRender: doStuff}">
<custom-comp params="onclick: action.print, shouldShow: ui.showPrint">
</custom-comp>
</div>
custom-comp - это мой пользовательский компонент для рендеринга существующих данных и выполнения других действий.
Сценарий:
this.doStuff= function(elements) {
console.info(elements);
}
Однако, несмотря на то, что пользовательский компонент получает данные, и все работает, как положено, он все равно выдает ошибку:
Uncaught ReferenceError: action is not defined
at onClick (eval at createBindingsStringEvaluator (knockout.debug.js:2936), <anonymous>:3:60)
at Function.evaluateImmediate_CallReadThenEndDependencyDetection (knockout.debug.js:2142)
at Function.evaluateImmediate_CallReadWithDependencyDetection (knockout.debug.js:2114)
at Function.evaluateImmediate (knockout.debug.js:2078)
at Object.ko.computed.ko.dependentObservable (knockout.debug.js:1939)
at knockout.debug.js:3821