gpt4 book ai didi

javascript - 如何使用 typescript 在 native 脚本中实现 Observable

转载 作者:行者123 更新时间:2023-11-28 17:58:22 24 4
gpt4 key购买 nike

我刚刚开始学习原生脚本框架,并且正在遵循官方网站上的“JavaScript 入门”教程。我有 Java 背景,所以我更熟悉 typescript。我尝试将所有 JavaScript 代码替换为等效的 typescript 代码。

到目前为止一切都很好,但是当我到达 Chapter three > 3.4: Adding a view model section 时,我对如何在 typescript 中实现 Observable 感到困惑。这是网站上的代码:

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,您就可以进行正常的绑定(bind)以及对 ViewModel< 的这些属性的任何更新 将传播到 View 。

<Label text="{{ propertyA }}"/>
<Label text="{{ propertyB }}"/>

关于javascript - 如何使用 typescript 在 native 脚本中实现 Observable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44054560/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com