聚合物:与简单数据绑定相比;t在第二个元素中起作用
Polymer: Vers simple data binding doesn't work in the second element
我已经为这个问题工作了6个小时,似乎看不到它。以下是index.html:的片段
<flat-data-array availableModes="{{modes}}" id="dataArray"></flat-data-array>
<flat-strip-view availableModes="{{modes}}" id="flatViewer"></flat-strip-view>
dataArray(始终运行良好):
<link rel="import" href="../../bower_components/polymer/polymer.html">
<dom-module id="flat-data-array">
<script>
(function() {
'use strict';
Polymer({
is: 'flat-data-array',
properties: {
strips: {
type: Array,
notify: true,
observe: '_stripsChanged'
},
availableModes: {
type: Number,
notify: true,
observe: '_modesChanged'
},
socket: {
type: Object
}
}
,
_stripsChanged: function(newVal, oldVal) {
this.fire('flat-strip-array-changed',{ newValue: newVal, oldValalue: oldVal});
},
_modesChanged: function(newVal, oldVal) {
this.fire('flat-strip-mode-changed',{ newValue: newVal, oldValalue: oldVal});
alert("Changed");
},
ready: function() {
this.socket = io.connect('http://192.168.0.101:3000');
socket.on('flatCommand', function(data) {
console.log(data);
});
this.availableModes=15;
/*[
{
modeID: 65,
letter: "A",
name: "Singler Color"
}
];*/
}
});
})();
</script>
</dom-module>
现在的问题是:
<link rel="import" href="../../bower_components/polymer/polymer.html">
<link rel="import" href="../../elements/flat-list/flat-list.html">
<dom-module id="flat-strip-view">
<template>
<style>
:host {
display: block;
}
</style>
<flat-list
strips="{{strips}}"
id="flatList"
>
</flat-list>
</template>
<script>
(function() {
'use strict';
Polymer({
is: 'flat-strip-view',
properties: {
strips: {
type: Array,
notify: true,
observer: '_flatStripChanged'
},
availableModes: {
type: Number,
notify: false,
observer: '_flatModeChanged'
}
}
,
_flatModeChanged: function(newVal, oldVal) {
this.fire('flat-strip-view-mode-changed',{ newValue: newVal, oldValalue: oldVal});
alert("Event");
},
_flatStripChanged(newVal, oldVal) {
this.fire('flat-strip-view-array-changed',{ newValue: newVal, oldValalue: oldVal});
}
});
})();
</script>
</dom-module>
由于index.html中的定义,我希望两个元素中的可用模式相同。但如果我键入:documtent.getElementById('dataArray').availableModes
我得了15分(完全可以),但当我打字时document.getElementById('flatViewer').availableModes
上面写着undefined
奇怪的是,之前也以同样的方式有了另一个定义(事实上,我只是为了追踪问题而删除了它),这起到了作用,并将值传递给了cain中的最后一个元素。我就是看不出有什么不同。
<aiur-data-array strips="{{mystrips}}" availableModes="{{modes}}" id="dataArray"></aiur-data-array>
<aiur-strip-view availableModes="{{modes}}" strips="{{mystrips}}" id="aiurViewer"></aiur-strip-view>
这适用于任何元素的任何方向的"条纹"。。。
将属性availableModes
更改为available-modes
。
将属性名称映射到属性名称时:
属性名称将转换为小写属性名称。例如,属性
firstName
映射到firstname
。带破折号的属性名称将转换为camelCase属性名称,方法是将每个破折号后面的字符大写,然后删除破折号。例如,属性
first-name
映射到firstName
。
来源:https://www.polymer-project.org/1.0/docs/devguide/properties.html#property-名称映射
相关文章:
- 角度指令:指向第二个元素
- 如何将第二个元素id注入到网站元素中
- 如何针对JQuery中的第二个元素
- 情商不正确,第二个元素
- 检测点击元素的内部文本,而不将文本包装在第二个元素中
- JQuery:如果存在具有相同 ID 的元素,则选择第二个元素
- 如何将两个 html 元素绑定在一起,当第一个元素被删除时,第二个元素也从 DOM 中删除
- 我可以通过 Javascript 中第一个元素的值选择二维数组的第二个元素吗?
- 循环遍历数组并成对输出(每个第二个元素的分隔符)
- 如何从数组中获取第一个元素和第二个元素中的值
- 如何在第二个元素之后插入
- 将类分配给第二个元素 Java 脚本
- 无法返回 JSON 数组对象的倒数第二个元素的值
- XPath如何查找具有CSS类名的第二个元素
- 在复选框选中的操作中显示第二个元素
- 聚合物:与简单数据绑定相比;t在第二个元素中起作用
- 我们如何使用类名通过它在 Jquery 中的位置获取第二个元素
- 选择第二个元素子java-script
- 挑战:从输入元素中聚合第二个元素
- 在jQuery中创建了元素按钮,但是第二个元素没有出现