gpt4 book ai didi

javascript - 在 Polymer 1.0 中实现全局变量

转载 作者:行者123 更新时间:2023-11-28 18:50:36 25 4
gpt4 key购买 nike

我正在尝试复制 Polymer 0.5 文档以下部分中的示例,该示例使用 MonoState 模式在 Polymer 中实现全局变量:

http://www.polymer-project.org/0.5/docs/polymer/polymer.html#global

我正在尝试使用 Polymer 1.0 来实现此功能,但运气不佳。

这是我的 app-globals 的代码和my-component自定义元素。除了 Polymer 1.0 中的语法略有不同之外,它与上面的链接中的相同。例如使用dom-module而不是polymer-element .

<dom-module name="app-globals">
<script>
(function() {
// these variables are shared by all instances of app-globals
var values = {
firstName: 'John',
lastName: 'Smith'
}

Polymer({
is: 'app-globals',
ready: function() {
// make global values available on instance.
this.values = values;
}
});
})();
</script>
</dom-module>

<dom-module name="my-component">
<template>
<app-globals id="globals"></app-globals>
<div id="firstname">{{$.globals.values.firstName}}</div>
<div id="lastname">{{$.globals.values.lastName}}</div>
</template>
<script>
Polymer({
is: 'my-component',
ready: function() {
console.log('Last name: ' + this.$.globals.values.lastName);
}
});
</script>
</dom-module>

用法很简单:

<my-component></my-component>

最初我遇到了错误“无法读取未定义的属性'$'”。所以我更换了div内容$.globals.values.firstNamethis.$.globals.values.firstName (对于 lastName 字段也类似)在 my-component 中自定义元素。

但是 div 不显示名字和姓氏。看起来像 this.$.globals.values.firstNamethis.$.globals.values.lastName渲染 div 时未设置。

希望得到一些帮助来解决这个问题。

最佳答案

这是工作示例,Plunk

properties: {
values: {
type: Object,
notify: true
}
},

ready: function() {
// make global values available on instance.
this.values = {
firstName: 'John',
lastName: 'Smith'
}
}

关于javascript - 在 Polymer 1.0 中实现全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34535680/

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