javascript - Observable 对象中的默认值未定义

标签 javascript nativescript

下面的示例代码片段的结构与我拥有的 View 模型和 Controller 类似。知道为什么当我实例化 View 模型时 Observable 对象中的默认值不会实例化吗? 如果在 Controller 中的另一个方法中我尝试访问,我会得到未定义的结果。

/**
 * 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()

最佳答案

假设加载 Some-view 文件的部分正在执行:

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

那么这在 NativeScript 中应该可以正常工作;我刚刚在 v1.7.1 和 2.01 运行时中对此进行了测试,我的 ViewModel.get('someBool') 返回 true。

关于javascript - Observable 对象中的默认值未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37868444/

相关文章:

javascript - 使用选择选项值更改表格填充

android - 在 nativescript 中更改 AndroidManifest.xml 和 styles.xml 后,ActionBar 和标题不会消失

angular - NativeScript ScrollView 当组件打开时它会滚动到某个部分

android - 服务通知 channel 无效 : Notification

javascript - nativescript 创建 2 个应用程序而不是 1 个

javascript - 检测源是否为 CSS/HTML/JavaScript

javascript - 检查是否在页面加载时选择了复选框并向父 html li 添加一个类

javascript - YouTube API 更改

php - 只缓存最新版本的javascript文件

javascript - "TypeError: Cannot read property ' 作用域 Fn ' of undefined"。这是什么?