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.foo
和 viewModel.get("foo")
在什么情况下应该使用后者?
在使用 fromObject
方法创建 Observable 时两者实际上是相同的。
viewModel.foo
将使用 Object.defineProperty
在内部映射到 viewModel.get("foo")
/ viewModel.set("foo", value)
。
采用以下简化的视图模型:
const observableModule = require("tns-core-modules/data/observable");
function HomeViewModel() {
const viewModel = observableModule.fromObject({
foo: 'Hello World'
});
return viewModel;
}
在 NativeScript 中,可以通过两种方式获取 viewModel 值:
viewModel.foo
和 viewModel.get("foo")
在什么情况下应该使用后者?
在使用 fromObject
方法创建 Observable 时两者实际上是相同的。
viewModel.foo
将使用 Object.defineProperty
在内部映射到 viewModel.get("foo")
/ viewModel.set("foo", value)
。