2016-06-16 11 views
1

以下の例のスニペットは、私が持っているビューモデルとコントローラに似た構造を持っています。 Observableオブジェクトのデフォルト値がビューモデルをインスタンス化するときにインスタンス化されない理由は何ですか? コントローラの別のメソッドでアクセスしようとすると、定義されません。Observableオブジェクトから未定義になるデフォルト値

いくつかのビューファイルをロードしている部分がやっていると仮定すると、
/** 
* some-view-model.js 
*/ 

var Observable = require('data/observable').Observable; 

function SomeViewModel(){ 
    var model = new Observable({ 
     name: "", 
     someBool: true 
    }); 

    return model; 
} 

module.exports = SomeViewModel; 


/** 
* some-view.js 
*/ 
var SomeViewModel = require('some-view-model'); 

var SomeView = function(){}; 
var ViewModel = new SomeViewModel(); 

SomeView.prototype.viewLoaded = function(args){ 
    // do some stuff 
}; 

SomeView.prototype.foo = function(){ 
    // below returns undefined rather than true, why?? 
    ViewModel.get('someBool') 
}; 

module.exports = new SomeView() 

答えて

1

var someview = require('some-view.js'); 
someview.foo(); 

を次にこれがNativeScriptで細かい作業をする必要があります。私はこれをv1.7.1と2.01のランタイムでテストしたところ、ViewModel.get( 'someBool')はtrueを返します。

関連する問題