Polymer 什么';s构造函数中初始化的对象与属性之间的差异
我在分配给我的一个项目中也有几次混合。 有些在属性中设置了其对象,如:Polymer 什么';s构造函数中初始化的对象与属性之间的差异,polymer,polymer-1.0,polymer-2.x,Polymer,Polymer 1.0,Polymer 2.x,我在分配给我的一个项目中也有几次混合。 有些在属性中设置了其对象,如: static get properties() { return { config: { type: Object } } } 而其他mixin则在构造函数中设置其对象,如: constructor() { super(); this.language = { name: "english", label: "EN" } } 我想两者都是全局可访问的,因为
static get properties() {
return {
config: {
type: Object
}
}
}
而其他mixin则在构造函数中设置其对象,如:
constructor() {
super();
this.language = {
name: "english",
label: "EN"
}
}
我想两者都是全局可访问的,因为mixin到处都是加载的。
但这两种实现之间有什么区别
编辑(附加代码)
这些mixin通过以下方式创建:
MyMixin = function (superClass) {
return class extends superClass {
static get properties() {
return {
config: {
type: Object
}
}
}
constructor() {
super();
}
class HomePage extends MyMixin(Polymer.Element) {
...
}
或其他方法:
MyMixin = function (superClass) {
return class extends superClass {
static get properties() {
return {
}
}
constructor() {
super();
this.language = {
name: "english",
label: "EN"
}
}
另一个组件使用它们的方式如下:
MyMixin = function (superClass) {
return class extends superClass {
static get properties() {
return {
config: {
type: Object
}
}
}
constructor() {
super();
}
class HomePage extends MyMixin(Polymer.Element) {
...
}
通过Properties对象创建的属性映射为HTML属性,这意味着您可以拥有数据绑定,例如:
<my-component config="[[someContent]]"></my-component>
会回来的
{
name: "english",
label: "EN"
}
但是
将返回未定义的和
<my-component language="[[someContent]]"></my-component>
不起作用我明白了,但这是混音。你没有给它们赋予属性,所以看起来没有区别。那么我不理解这个问题,请再发一些代码。你知道mixin只是父类的另一个词吗?所以来自mixin的properties对象将与来自component的属性合并,所以mixin的properties对象将映射为属性。