【问题标题】:How to subscribe to changes Knockout Observable in TypeScript?如何订阅 TypeScript 中的 Knockout Observable 更改?
【发布时间】:2015-05-19 08:58:27
【问题描述】:

如何订阅 TypeScript 中的 Knockout Observable 更改?

Data :Knockoutobservable<string> = ko.Observable<string>();

我需要类似的东西:

Data.subscribe(function(e){})??

【问题讨论】:

    标签: knockout.js typescript observable


    【解决方案1】:

    类型脚本只是编写 JavaScript 的一种方式。淘汰赛没有任何区别。

    所以,你可以用下面的方式写你的订阅(就像在 javascript 中一样)

    Data.subscribe(function(newValue) {
        alert(newValue);
    });
    

    【讨论】:

    • 我做了,但 typeScript 没有生成 javascript errorr 'duplicate identifier' public SelectedItem = ko.observable(); SelectedItem.subscribe(function(newValue) { alert(newValue); });
    • 当您尝试在同一范围内声明相同的标识符时,您将获得“重复标识符”。写此行 SelectedItem.subscribe(function(newValue) { alert(newValue); });进入构造函数。这样它就会在“SelectedItem”中注册
    【解决方案2】:

    这个打字稿...

    class Car {
        data:KnockoutObservable<string>;
    
        constructor(data: string) {
            this.data = ko.observable(data);
            this.data.subscribe((newData) => {
                alert("My data changed to: " + newData);
            });
        }
    }
    

    将编译为以下 JavaScript...

    var Car = (function () {
        function Car(data) {
            this.data = ko.observable(data);
            this.data.subscribe(function (newData) {
                alert("My data changed to: " + newData);
            });
        }
        return Car;
    })();
    

    【讨论】:

      猜你喜欢
      • 2013-12-03
      • 2019-01-04
      • 2013-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-08
      • 2015-11-06
      相关资源
      最近更新 更多