2016-06-16 1 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를 반환합니다.

관련 문제