Polymer 如何设置和取消设置聚合物中的观察者?
我试图理解在Polymer 如何设置和取消设置聚合物中的观察者?,polymer,polymer-1.0,observers,Polymer,Polymer 1.0,Observers,我试图理解在attached()和detached()事件中设置和取消设置聚合物组件中的观察者的正确方法,因此它只在元素连接后才开始观察。有什么想法吗 目前,没有公共API来强制添加观察者(但存在私有API),也没有API来删除它们 私有函数,\u addComplexObserverEffect(…)在一个或多个属性上创建观察者。该函数处理聚合物对象的观察者数组中的每个观察者表达式。注意使用私有函数的警告是,它可能在下一版本中不可用 您可以这样使用它: Polymer({ ...,
attached()
和detached()
事件中设置和取消设置聚合物组件中的观察者的正确方法,因此它只在元素连接后才开始观察。有什么想法吗 目前,没有公共API来强制添加观察者(但存在私有API),也没有API来删除它们
私有函数,\u addComplexObserverEffect(…)
在一个或多个属性上创建观察者。该函数处理聚合物对象的观察者
数组中的每个观察者表达式。注意使用私有函数的警告是,它可能在下一版本中不可用
您可以这样使用它:
Polymer({
...,
properties: {
foo: String
},
attached: function() {
this._addComplexObserverEffect('_fooChanged(foo)');
},
_fooChanged: function(foo) { ... }
});
目前,没有公共API来强制添加观察者(但存在一个私有API),也没有API来删除它们 私有函数,
\u addComplexObserverEffect(…)
在一个或多个属性上创建观察者。该函数处理聚合物对象的观察者
数组中的每个观察者表达式。注意使用私有函数的警告是,它可能在下一版本中不可用
您可以这样使用它:
Polymer({
...,
properties: {
foo: String
},
attached: function() {
this._addComplexObserverEffect('_fooChanged(foo)');
},
_fooChanged: function(foo) { ... }
});
如果您不想使用私有方法,而这只是时间问题,不需要有n个动态观察者,只需在元素附着后设置一个道具,将该道具添加到观察者,并仅在附着时执行
Polymer({
is: 'my-el',
properties: {
bar: String,
attached: {
type: Boolean,
value: false
}
},
observers: [
'_barChagned(bar, attached)'
],
_barChagned: function(bar, att) {
if(!att) return;
// Do your stuff
},
attached: function() {
this.set('attached', true);
}
});
如果您不想使用私有方法,这只是时间问题,不需要有n个动态观察者,只需在元素附着后设置一个道具,将该道具添加到观察者,并仅在附着时执行
Polymer({
is: 'my-el',
properties: {
bar: String,
attached: {
type: Boolean,
value: false
}
},
observers: [
'_barChagned(bar, attached)'
],
_barChagned: function(bar, att) {
if(!att) return;
// Do your stuff
},
attached: function() {
this.set('attached', true);
}
});
将来有没有计划可以做到这一点?一个公共的设置和取消设置的方法?将来有没有计划可以这样做?一个公共的set和unset方法?