NativeScript - viewModel.foo 和 viewModel.get("foo") 有什么区别?

NativeScript - What is the difference between viewModel.foo and viewModel.get("foo")?

采用以下简化的视图模型:

const observableModule = require("tns-core-modules/data/observable");

function HomeViewModel() {
    const viewModel = observableModule.fromObject({
        foo: 'Hello World'
    });

    return viewModel;
}

在 NativeScript 中,可以通过两种方式获取 viewModel 值:

viewModel.fooviewModel.get("foo")

在什么情况下应该使用后者?

在使用 fromObject 方法创建 Observable 时两者实际上是相同的。

viewModel.foo 将使用 Object.defineProperty 在内部映射到 viewModel.get("foo") / viewModel.set("foo", value)