我正在尝试理解在index = mywords[target]
和attached()
事件中设置和取消聚合物组件内的观察者的正确方法,因此它只在连接元素后才开始观察。有任何想法吗?
答案 0 :(得分:2)
目前,没有公开的API来强制添加观察者(但是存在私有的观察者),并且根本没有API来删除它们。
私有函数_addComplexObserverEffect(...)
在一个或多个属性上创建一个观察者。它是处理Polymer对象observers
数组中每个观察者表达式的函数。请注意,使用私有函数的警告是它可能在下一个版本中无法使用。
您可以像这样使用它:
Polymer({
...,
properties: {
foo: String
},
attached: function() {
this._addComplexObserverEffect('_fooChanged(foo)');
},
_fooChanged: function(foo) { ... }
});
答案 1 :(得分:2)
如果您不想使用私有方法,只需要计时而不需要 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);
}
});