Javascript 如何使用typescript在本机脚本中实现Observable
我刚开始学习本机脚本框架,现在正在学习官方网站上的“JavaScript入门”教程。我有Java的背景,所以我更熟悉typescript。我尝试将所有JavaScript代码替换为与typescript等效的代码 到目前为止,一切正常,但当我到达时,我对如何在typescript中实现Observable感到困惑。这是网站上的代码:Javascript 如何使用typescript在本机脚本中实现Observable,javascript,typescript,observable,nativescript,Javascript,Typescript,Observable,Nativescript,我刚开始学习本机脚本框架,现在正在学习官方网站上的“JavaScript入门”教程。我有Java的背景,所以我更熟悉typescript。我尝试将所有JavaScript代码替换为与typescript等效的代码 到目前为止,一切正常,但当我到达时,我对如何在typescript中实现Observable感到困惑。这是网站上的代码: var observableModule = require("data/observable"); var user = new observableModul
var observableModule = require("data/observable");
var user = new observableModule.fromObject({
email: "user@domain.com",
password: "password"
});
这就是我想到的:
import {Observable} from 'data/observable';
class User extends Observable {
email = "user@domain.com";
password = "password";
}
let user = new User();
当我测试它时,它似乎起作用了。上面的代码是等效的还是我遗漏了什么?是的,这是使“对象”可见的方法。另一种不同但又相似的方法是使整个“ViewModel”可见,例如:
import { Observable } from "data/observable";
export class ViewModel extends Observable {
constructor() {
super();
this.set("propertyA", 42);
this.set("propertyB", "some value");
}
public updatedValues() {
this.set("propertyA", 3.14);
this.set("propertyB", "some new value");
}
}
之后,如果将ViewModel
设置为页面的bindingContext
,则可以进行常规绑定,并且对ViewModel
的那些属性的任何更新都将传播到视图中
<Label text="{{ propertyA }}"/>
<Label text="{{ propertyB }}"/>
是的,这是使“对象”可见的方法。另一种不同但又相似的方法是使整个“ViewModel”可见,例如:
import { Observable } from "data/observable";
export class ViewModel extends Observable {
constructor() {
super();
this.set("propertyA", 42);
this.set("propertyB", "some value");
}
public updatedValues() {
this.set("propertyA", 3.14);
this.set("propertyB", "some new value");
}
}
之后,如果将ViewModel
设置为页面的bindingContext
,则可以进行常规绑定,并且对ViewModel
的那些属性的任何更新都将传播到视图中
<Label text="{{ propertyA }}"/>
<Label text="{{ propertyB }}"/>
谢谢你,弗拉基米尔谢谢你,弗拉基米尔你可以用这种方法也可以用这种方法