1
require jsによってロードされたノックアウトjsコンポーネントに奇妙な問題があります。 コンポーネントは非常に簡単です。結合今 requirejsによってロードされたknockout.jsコンポーネントのビューモデルコンテキストが失われる
define([
'jquery',
'knockout'
], function ($, ko) {
function ViewModel(params) {
var self = this;
this.test = 'test';
}
ViewModel.prototype.fetchData = function() {
var self = this;
console.log(this.test);
};
ViewModel.prototype.init = function() {
console.log(this.test);
this.fetchData();
};
ko.components.register('my-component', {
viewModel: ViewModel,
template: '<span data-bind="template: { afterRender: init }"></span>'
});
});
、
テンプレートは
のinit方法ビューモデルを呼び出すことができますが、この方法自体は理由
このがにバインドされたメソッドの内部で、
なFetchDataメソッドにアクセスすることはできませんビューモデルではなくウィンドウオブジェクト。
私はエラーケースを表示するにはフィドルを準備:http://jsfiddle.net/ask4artur/3f6jsa4m/47/
ビンゴを!それでおしまい!。ありがとうございました! –