使用 Polymer 函数附加到 div
Appending to div using Polymer function
我有一个连接到 firebase 数据库的聚合物网络应用程序。我已经成功地在我的数据库中存储和检索数据。我试图在 Firebase forEach() 方法期间将 div 附加到 dom 模块,同时从数据库中解析我的 JSON 数据。虽然我收到了这个错误,但我不确定如何附加到我的 html 代码。
错误消息说:"Exception was thrown by user callback. TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'."
这是抛出错误的行:
Polymer.dom(container).appendChild('<div class="card">' + data.name + '</div>');
下面是代码的其余部分,以提供更多关于我试图通过此实现的目标的上下文:
<link rel="import" href="../bower_components/polymer/polymer.html">
<dom-module id="my-list-view1">
<template>
<style>
.cardContainer {
}
.card {
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
padding-bottom: 16px;
margin: 24px;
border-radius: 5px;
background-color: #fff;
color: #757575;
}
</style>
<div id="cardContainer">
<paper-fab icon="arrow-forward" on-click="_loadJson"></paper-fab>
</div>
</template>
<script>
Polymer ({
is: 'my-list-view1',
_loadJson: function() {
var ref = new Firebase("https://firebaseurl.com/entries");
var container = this.$.cardContainer;
ref.on("value", function(snapshot) {
snapshot.forEach(function(childSnapshot) {
var data = childSnapshot.val();
console.log(data.name + " " + data.phone);
Polymer.dom(container).appendChild('<div class="card">' + data.name + '</div>'); //error here
});
});
}
})
</script>
</dom-module>
数据已完美检索,我可以通过 JSON 对象进行解析,但我不确定在获得数据后如何附加到此 dom 模块。我真的想为每个 json 对象添加一个 div 到名为 cardContainer 的 div。非常感谢所有帮助,在此先感谢。
这个问题我一时兴起。您必须使用函数 document.createElement() 然后将其附加到您想要的父视图,如下所示:
现在这是我的 _loadJson 函数:
_loadJson:函数(){
var ref = new Firebase("https://firebaseurl.com/entries");
var container = this.$.cardContainer;
ref.on("value", function(snapshot) {
snapshot.forEach(function(childSnapshot) {
var data = childSnapshot.val();
console.log(data.name + " " + data.phone);
var card = document.createElement('div');
card.className = "card";
card.innerHTML = data.name + ", " + data.phone;
Polymer.dom(container).appendChild(card);
});
});
}
抱歉,如果这是重复的,但这里有相同问题的任何其他人都是解决方案。
我有一个连接到 firebase 数据库的聚合物网络应用程序。我已经成功地在我的数据库中存储和检索数据。我试图在 Firebase forEach() 方法期间将 div 附加到 dom 模块,同时从数据库中解析我的 JSON 数据。虽然我收到了这个错误,但我不确定如何附加到我的 html 代码。
错误消息说:"Exception was thrown by user callback. TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'."
这是抛出错误的行:
Polymer.dom(container).appendChild('<div class="card">' + data.name + '</div>');
下面是代码的其余部分,以提供更多关于我试图通过此实现的目标的上下文:
<link rel="import" href="../bower_components/polymer/polymer.html">
<dom-module id="my-list-view1">
<template>
<style>
.cardContainer {
}
.card {
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
padding-bottom: 16px;
margin: 24px;
border-radius: 5px;
background-color: #fff;
color: #757575;
}
</style>
<div id="cardContainer">
<paper-fab icon="arrow-forward" on-click="_loadJson"></paper-fab>
</div>
</template>
<script>
Polymer ({
is: 'my-list-view1',
_loadJson: function() {
var ref = new Firebase("https://firebaseurl.com/entries");
var container = this.$.cardContainer;
ref.on("value", function(snapshot) {
snapshot.forEach(function(childSnapshot) {
var data = childSnapshot.val();
console.log(data.name + " " + data.phone);
Polymer.dom(container).appendChild('<div class="card">' + data.name + '</div>'); //error here
});
});
}
})
</script>
</dom-module>
数据已完美检索,我可以通过 JSON 对象进行解析,但我不确定在获得数据后如何附加到此 dom 模块。我真的想为每个 json 对象添加一个 div 到名为 cardContainer 的 div。非常感谢所有帮助,在此先感谢。
这个问题我一时兴起。您必须使用函数 document.createElement() 然后将其附加到您想要的父视图,如下所示:
现在这是我的 _loadJson 函数:
_loadJson:函数(){
var ref = new Firebase("https://firebaseurl.com/entries");
var container = this.$.cardContainer;
ref.on("value", function(snapshot) {
snapshot.forEach(function(childSnapshot) {
var data = childSnapshot.val();
console.log(data.name + " " + data.phone);
var card = document.createElement('div');
card.className = "card";
card.innerHTML = data.name + ", " + data.phone;
Polymer.dom(container).appendChild(card);
});
});
}
抱歉,如果这是重复的,但这里有相同问题的任何其他人都是解决方案。