gpt4 book ai didi

javascript - Polymer 1.0 中的 templateInstance.model

转载 作者:行者123 更新时间:2023-11-30 12:21:32 25 4
gpt4 key购买 nike

polymer 0.5 , this.templateInstance.model提供了一种访问范围内定义的属性的方法 is="auto-binding" this 的(或任何其他)模板元素。

现在,在 polymer 1.0 中,访问包含 is="dom-bind" 属性的等效方法是什么? (或任何其他)模板?

编辑:

例如,在下面的代码片段中,两个元素 <my-el-a><my-el-b>打算将值设置为包含 <template is="dom-bind">counterAcounterB属性分别。

<my-el-b>通过反射属性成功做到这一点 counter (notify:true)。

<my-el-a>打算通过“ parent ”/templateInstance.model 这样做但失败了。这在 Polymer 0.5 中曾经有效。我怎样才能让它在 Polymer 1.0 中工作?换句话说,templateInstance.model 的等价物是什么? ?

<script>
! function() {
var counterA = 0;
Polymer({
is: 'my-el-a',
ready: function() {
counterA += 1;
this.instanceTemplate.model.counterA = counterA; //used to work in Polymer 0.5
}
})
}();
</script>

<script>
! function() {
var counterB = 0;
Polymer({
is: 'my-el-b',
properties: {
counter: {
value: 0,
type: Number,
notify: true
}
},
ready: function() {
counterB += 1;
this.counter = counterB;
console.log(this);
}
})
}();
</script>

<template is="dom-bind">
<div>CounterA: <span>{{counterA}}</span>
</div>
<div>CounterB: <span>{{counterB}}</span>
</div>
<my-el-a></my-el-a>
<my-el-b counter="{{counterB}}"></my-el-b>
</template>

最佳答案

尚未记录但从 source code 可以明显看出我可以从定义为 dataHost 的模板实例属性访问:

var dataHost = (this.dataHost && this.dataHost._rootDataHost) || this.dataHost;

在问题中给出的示例的上下文中,我可以替换:

this.instanceTemplate.model.counterA = counterA;

与:

var dataHost = (this.dataHost && this.dataHost._rootDataHost) || this.dataHost;
dataHost.counterA = counterA;

换句话说,templateInstance.model 被替换为 dataHost

关于javascript - Polymer 1.0 中的 templateInstance.model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30855739/

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