Angular 1.6.4如何检测组件的无绑定属性的变化[重复]
Posted
技术标签:
【中文标题】Angular 1.6.4如何检测组件的无绑定属性的变化[重复]【英文标题】:Angular 1.6.4 How to detect changes in no-bindings properties of components [duplicate] 【发布时间】:2017-09-26 07:54:17 【问题描述】:也许有人知道如何解决这个问题:
angular.module('myApp')
.component('myComponent',
controller: function ()
this.prop1 = 1;
,
templateUrl: 'template.html'
所以 $watch() 不适用于新版本。 $onChanges() - 不起作用,因为这是内部属性。可以有人解决这个问题吗?感谢您的帮助。
【问题讨论】:
这是一个完全不同的问题,在我的代码中我尽量避免任何绑定。 “$watch() 未启用新版本” - 你是什么意思? 尝试在 Angular 1.6 组件的控制器中使用 $watch) 如何在控制器类上定义自己的属性并使用setter检测变化? 【参考方案1】:试试这个
angular.module('app.components', [])
.component('changeHandler',
controller: function ChangeHandlerController()
$onChanges: function (changes)
if (changes.canChange)
this.performActionWithValueOf(changes.canChange);
;
,
bindings:
canChange: '<'
,
templateUrl: 'change-handler.html'
);
【讨论】:
是的,它会起作用,但我想避免在这个组件中绑定。我需要类似 $watch 的东西 this._scope.$watch(() => return this.items; , (newVal, oldVal) => // 在这里做你该做的 );以上是关于Angular 1.6.4如何检测组件的无绑定属性的变化[重复]的主要内容,如果未能解决你的问题,请参考以下文章
当组件被销毁时,Angular 如何销毁事件处理程序和属性绑定
Angular2,TypeScript,如何读取/绑定属性值到组件类(在 ngOnInit 中未定义)[重复]