我有一些看起来像这样的代码:
..
<template is="dom-if" if="_myMethod()">
<div>Hello world</div>
</template>
..
_myMethod
看起来像这样:
_myMethod: function(){
return this.$.someOtherObject.someList.size() == 0;
}
如您所见,该方法从页面中的其他polymer-element
返回一个值。但是当我的其他 dom-if
更改时,如何让polymer-element
更改为“状态”?
我知道如果我将值传递给方法,如下所示:_myMethod(someValue)
如果someValue
更改,则会更新dom-if
,但我需要“观察”另一个polymer-element
。我该怎么做我想做的事?
答案 0 :(得分:0)
经过一些实验,我得到了以下结论:
..
<my-other-element on-some-list-changed="_notifyChange" id="someOtherObject">
</my-other-element>
..
..
<template is="dom-if" if="_myMethod(didChange)">
<div>Hello world</div>
</template>
..
..
_notifyDidChange: function()
{
this.didChange = !this.didChange;
}
_myMethod: function(didChange){
return this.$.someOtherObject.someList.size() == 0;
}
如果另一个元素上的值(数组)发生更改,dom-if
现在将更新。不确定是否存在错误(使用数组),但我尝试直接绑定到someOtherObject.someList
并同步两个元素之间的更改,它们已同步,但事件未被正确触发,因此dom-if
不会更新。 :(