My Polymer模块有一个属性,它是一个名为pokemonToType
的对象,它将一个口袋妖怪(字符串)映射到它的类型(字符串):
模块的就绪功能异步地为映射添加值。
Polymer({
is: "pokedex",
properties: {
pokemonToType: {
type: Object,
value: {},
},
},
ready() {
setTimeout(() => {
this.set('pokemonToType.bulbasaur', 'grass');
this.set('pokemonToType.charmander', 'fire');
this.set('pokemonToType.mr.mime', 'psychic');
}, 4242);
},
observers: [
"pokemonToTypeChanged(pokemonToType.*)",
],
pokemonToTypeChanged(changeRecord) {
console.log(changeRecord);
},
});
不幸的是,this.set('pokemonToType.mr.mime', 'psychic');
无法触发观察者,主要是因为密钥包含句点。我们如何解决这个问题(触发观察者)而不从密钥字符串(mr.mime
)中删除句点?