Properties 如何做';在聚合物中观察到的属性中,是否调用更改通知?

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> &

我有一个属性(“toggleChecked”)由一个切换按钮更改,当我按下切换按钮时,该按钮必须执行一些操作。 我需要在不调用observer函数的情况下重置切换值

<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”

这是一个很好的解决方案,我不介意。我提出了一个更正:它是在更改属性时使用的,并且没有双大括号。谢谢。啊,谢谢!我很早就开始使用聚合物了,语法也发生了变化,所以我偶尔会犯这样的错误。