我想看一些绑定到我组件的元素。此值可能会更改(在另一个组件中),因为他进行了异步调用(承诺)。
直到现在,在JS中我都使用$scope.$watch,当绑定元素更改时,他有一个回调,并且我可以继续使用element的值。

JS示例:

$scope.$watch('myCtrl.myLayout', function (newVal, oldVal) {
    console.log('Layout is:');
    console.log(_this.myLayout);
});

angular.module('blocks.ui')
.component('myForm', {
    templateUrl: 'app/blocks/UI/form.html',
    controller: myForm,
    controllerAs: 'myCtrl',
    bindings: {
        myLayout: '='
    }
});


问题是如何使用“干净的”打字稿语法实现同一件事(我知道我可以注入$ scope并以完全相同的方式在打字稿上实现$scope.$watch)。

谢谢。

最佳答案

解决方案是使用打字稿获取和设置

private _myLayout:any;

public get MyLayout() {
   return this._myLayout;
}

public set MyLayout(newItem: any) {
    this._myLayout = newItem;
    console.log('Layout is:');
    console.log(this.MyLayout);
}

关于javascript - 如何在TypeScript上使用$ scope。$ watch,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38308844/

10-11 23:56