一尘不染

如何使用Angular组件观察组件绑定更改

angularjs

如何聆听角度分量绑定更改并执行操作?

angular.module('myapp')
    .component('myComponent', {
        templateUrl: 'some.html',
        controller: MyController,
        controllerAs: 'myCtrl',
        bindings: {
            items: '<'
        }
    });

现在,当items我要更改时要使用此值执行其他操作时,该
怎么办?


阅读 160

收藏
2020-07-04

共1个答案

一尘不染

现在,当项目更改时,我想使用此值执行其他操作,该怎么办?

但我想避免使用濒死的$ scope

如果你 希望使用$scope,你可以使用属性 设置器 检测到任何变化如:

class MyController {
    private _items: string[] = []
    set items(value:string[]){
        this._items = value;
        console.log('Items changed:',value);
    }
    get items():string[]{
        return this._items;
    }
}

const ctrl = new MyController();
ctrl.items = ['hello','world']; // will also log to the console
请注意,您不应将其用于复杂的逻辑(原因:https
//basarat.gitbooks.io/typescript/content/docs/tips/propertySetters.html)
2020-07-04