让 'dom-if' 根据另一个元素中的 属性 检查条件?
Make 'dom-if' check the condition against a property in another element?
我有一些代码如下所示:
..
<template is="dom-if" if="_myMethod()">
<div>Hello world</div>
</template>
..
_myMethod
看起来像这样:
_myMethod: function(){
return this.$.someOtherObject.someList.size() == 0;
}
如您所见,方法 return 来自页面中其他 polymer-element
的值。但是,当我的 other polymer-element
发生变化时,如何让 dom-if
改变它的 "state"?
我知道如果我向方法传递一个值,如下所示:_myMethod(someValue)
如果 someValue
更改,它将更新 dom-if
,但我需要 "observe" 换一个polymer-element
。我该如何做我想做的事?
经过一些实验,我得到了以下结果:
..
<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
不会吨更新。 :(
我有一些代码如下所示:
..
<template is="dom-if" if="_myMethod()">
<div>Hello world</div>
</template>
..
_myMethod
看起来像这样:
_myMethod: function(){
return this.$.someOtherObject.someList.size() == 0;
}
如您所见,方法 return 来自页面中其他 polymer-element
的值。但是,当我的 other polymer-element
发生变化时,如何让 dom-if
改变它的 "state"?
我知道如果我向方法传递一个值,如下所示:_myMethod(someValue)
如果 someValue
更改,它将更新 dom-if
,但我需要 "observe" 换一个polymer-element
。我该如何做我想做的事?
经过一些实验,我得到了以下结果:
..
<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
不会吨更新。 :(