簡體   English   中英

為什么ForerunnerDB找不到我的標簽?

[英]Why doesn't ForerunnerDB finds my tag?

我有以下設置:

<!DOCTYPE html>

<html>
<head>
<meta charset="UTF-8">
<title>Barebones todo</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="./js/dist/fdb-all.min.js" type="text/javascript"></script>
<script src="./js/dist/fdb-autobind.min.js" type="text/javascript"></script>
<script src="scrypt.js" type="text/javascript"></script>
<script id="myLinkFragment" type="text/x-jsrender">
    <li data-link="id{:_id}">{^{:name}}</li>
</script>

</head>
<body>


<form onsubmit="addGoal(); return false;">
  <label for="goalinput">Enter goal:</label>
 <input type="text" id="goalinput">
  <input type="submit">
</form>
<button type="button" onclick="retrieve()">Retrieve</button>
<div id="p"></div>

<ul id="myList">
</ul>

</body>
</html>

和我的scrypt.js文件:

var fdb = new ForerunnerDB();
var db = fdb.db("myDatabaseName");
var goalCollection = db.collection("goal");

function addGoal() {
    console.log("addig goal...");
    var newgoalname = document.getElementById("goalinput").value;
    console.log(newgoalname);

    goalCollection.insert({
    name: newgoalname,
    order: 99
});

    };
function retrieve() {
    var findings = goalCollection.find({});
console.log(findings);


document.getElementById("p").innerHTML = findings;


}

goalCollection.link("#myList", "#myLinkFragment");

然后我收到錯誤提示:

fdb-autobind.min.js:1未捕獲的ForerunnerDB [Collection]目標無法將集合綁定到目標選擇器“ #myList”,因為它在DOM中不存在!

我不太了解這個問題,因為顯然有一個ID為myList的UL標記。 我當時認為jquery可能未正確調用,但是我使用了已記錄的方式,因此應該不成問題。 我不知道是什么原因引起的。

集合無法綁定的原因是因為腳本在加載DOM之前執行。

您需要移動標簽:

<script src="scrypt.js" type="text/javascript"></script>

從head標簽到body標簽的結尾。

這將確保在腳本執行之前DOM已經存在。

資料來源:我是ForerunnerDB的開發人員

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM