Javascript 完全替换对象
我试图替换聚合物元素中的一个完整对象(属性),我尝试了几种可能性,但都不起作用 以下是我到目前为止的想法:Javascript 完全替换对象,javascript,polymer,polymer-1.0,Javascript,Polymer,Polymer 1.0,我试图替换聚合物元素中的一个完整对象(属性),我尝试了几种可能性,但都不起作用 以下是我到目前为止的想法: prefill: function() { randomChild(function(r) { // Does not work var t = Object.assign(this.child, r); // r is an existing Child-object this.set("child", t);
prefill: function() {
randomChild(function(r) {
// Does not work
var t = Object.assign(this.child, r); // r is an existing Child-object
this.set("child", t);
// Does not work
this.child.firstName = r.firstName;
// Works
this.set("child.firstName", r.firstName);
// Also works
this.child.lastName = r.lastName;
this.notifyPath("child.lastName");
}.bind(this));
}
我如何用
r
替换this.child
,而不为每个子属性调用this.notifyPath(“…”)
?为了观察对象和数组中的变化,可以使用与上面相同的方法
this.set('child',r);
这里
测试(如果您看到“测试”消息,则无法加载Necasary库。请稍后重试并检查开发工具。(F12)
:主持人{
显示:块;
身高:100%;
}
姓名:[[child.Name]],[[child.Name].
HTMLImports.whenReady(函数(){
类WebApp扩展了Polymer.Element{
静态get是(){return'web app';}
静态获取属性(){return{
r:{
类型:对象,
value(){return{};}
}
}};
静态get observer(){return['checkDataToTransfer(r)]};
就绪(){
super.ready();
Polymer.RenderStatus.afterNextRender(这个,()=>{
var obj={“姓名”:“鲍勃”,“姓氏”:“马利”};
设置超时(()=>{
此.set('r',obj);
},2000);
}); }
checkDataToTransfer(r){
日志(“分配给另一个对象”,r);
此.set('child',r);
}
}
customElements.define(WebApp.is,WebApp);
});