Properties 如何做';在聚合物中观察到的属性中,是否调用更改通知?
我有一个属性(“toggleChecked”)由一个切换按钮更改,当我按下切换按钮时,该按钮必须执行一些操作。 我需要在不调用observer函数的情况下重置切换值Properties 如何做';在聚合物中观察到的属性中,是否调用更改通知?,properties,polymer,polymer-1.0,Properties,Polymer,Polymer 1.0,我有一个属性(“toggleChecked”)由一个切换按钮更改,当我按下切换按钮时,该按钮必须执行一些操作。 我需要在不调用observer函数的情况下重置切换值 <dom-module id="custom-element"> <template> <paper-toggle-button checked="{{toggleChecked}}">Toggle</paper-toggle-button> </template> &
<dom-module id="custom-element">
<template>
<paper-toggle-button checked="{{toggleChecked}}">Toggle</paper-toggle-button>
</template>
<script>
Polymer({
properties: {
toggleChecked: {
type: Object,
observer: 'toggleCheckedChanged'
}
},
toggleCheckedChanged: function(value) {
// do some stuff...
},
resetToggleChecked: function(value) {
// change the value, but don't activate the observer function!
this.toggleChecked = value; // ??
}
});
</script>
</dom-module>
切换
聚合物({
特性:{
切换已选中:{
类型:对象,
观察者:“toggleCheckedChanged”
}
},
toggleCheckedChanged:函数(值){
//做些事情。。。
},
resetToggleChecked:函数(值){
//更改值,但不要激活观察者功能!
this.toggleChecked=值;/??
}
});
“resetToggleChecked”是用未知值调用的,我必须确保“toggleChecked”是在不做“某些事情”的情况下更改的。
只有当我用鼠标按下开关时,我才能做“一些事情”
有没有一种方法可以在不调用观察到的函数的情况下更改属性?检查,纸张切换按钮会发出两种不同的更改事件:
change
:当选中状态由于用户交互而更改时激发
换铁
:选中状态更改时激发
如果仅将回调绑定到change
事件,则回调将仅在从用户输入主动切换按钮时运行,而不仅仅是在基础值更改时运行
<dom-module id="custom-element">
<template>
<paper-toggle-button
on-change="_onChanged"
checked="{{toggleValue}}">Toggle</paper-toggle-button>
</template>
<script>
Polymer({
properties: {
toggleValue: {
type: Boolean
}
},
_onChanged: function(event) {
// This is called only when the paper-toggle-button changes
// via user interaction.
// do some stuff...
},
resetToggleChecked: function(value) {
// This will cause the toggle's checked value to change
// without triggering the _onChanged handler.
this.toggleValue = value;
}
});
</script>
</dom-module>
切换
聚合物({
特性:{
切换值:{
类型:布尔型
}
},
_一旦更改:函数(事件){
//仅当“纸张切换”按钮更改时,才会调用此选项
//通过用户交互。
//做些事情。。。
},
resetToggleChecked:函数(值){
//这将导致切换的选中值更改
//不触发_onChanged处理程序。
this.toggleValue=值;
}
});
编辑:更正错误行:on changed=“{{{u onChanged}}”与:on change=“\u onChanged”这是一个很好的解决方案,我不介意。我提出了一个更正:它是在更改属性时使用的,并且没有双大括号。谢谢。啊,谢谢!我很早就开始使用聚合物了,语法也发生了变化,所以我偶尔会犯这样的错误。