ビューモデルは関数として宣言されています。これは、クロージャー内の他の関数や変数を参照しやすくするためです。単純なキー/値オブジェクトの場合、他の変数/関数を参照するために 'this'を使用することはできません。自己呼び出し機能を持つKnockoutJSモデルを宣言することの違いは何ですか?
ただし、関数を使用してモデルを宣言する方法は2つあります。
var vm1 = function() {
this.mydata = ko.observable(null)
}
ko.applyBindings(new vm1());
そして、自己起動機能使用:
var vm2 = function() {
this.mydata = ko.observable(null)
}();
ko.applyBindings(vm2);
を2つのアプローチの違いは何ですか?私が探しているのは、KOがvm2内のプロパティをプライベートであると「見る」ことができるかどうかわからないため、第2のアプローチを使用すると問題が発生することです。しかし、vm1のプロパティはどのように表示されますか?
また、 'revealing-module'パターンがKOビューモデルと互換性があり、代わりにこれを使用する必要があるかどうかは疑問です。
ああ、ちょっと待ってください。*効果的にパブリックプロパティを作成しますか? – jaffa