gpt4 book ai didi

javascript - polymer 改变观察者不会开火

转载 作者:行者123 更新时间:2023-11-30 12:31:14 24 4
gpt4 key购买 nike

我在自定义元素中使用核心选择器元素来管理其他自定义元素的选择。我目前正在为“核心选择”添加一个事件监听器,然后更改另一个对象属性。出于某种原因,对象更改观察者不会在发生此更改时触发。谁能解释一下为什么?

代码:

Polymer('custom-elem',{
selected: {},
created: function(){

this.selected = {
value: null,
reflect: true
}
},
ready: function(){
this.addEventListener('core-select', function(e){
if (e.detail.item.active != null){
this.selected.value = e.detail.item.name;
//logging displays the correct value
console.log(this.selected.value);
}
});
},
selectedChanged: function(){
//never fires
console.log('working');
}
});

我也尝试实现相同的代码,但观察者观察核心选择 selectedItem、selectedIndex、selectedModel 属性,该属性也从未触发。

编辑:刚刚使用 core-menu 实现了相同的功能,它触发了一个 on-core-select 函数。所述函数更改 selected.value 属性。 selectedChanged 仍然没有被调用。

感谢任何帮助。

最佳答案

我认为,假设您的事件处理程序确实被调用,当您更改监视对象的属性时,Polymer 不会监视属性的更改。你需要使用一个观察者 block :

observe: {
'selected.value': 'selectedChanged'
},

关于javascript - polymer 改变观察者不会开火,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27641485/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com