【发布时间】:2018-03-14 22:33:12
【问题描述】:
我正在创建节点应用程序,但无法更新全局变量。
这是我的代码(ejs 文件):
<% include ../partials/header %>
<div class="page container">
<div id="campgroundsRow" class="row">
</div> <!-- row end -->
<button id="loadMore">Load More</button>
</div> <!-- Container End -->
<% include ../partials/footer %>
<script>
var numGroundsToLoad = 1;
var numGroundsLoaded = 0;
loadCampgrounds(numGroundsLoaded, numGroundsToLoad);
function loadCampgrounds(numGroundsLoaded, numGroundsToLoad) {
var grounds = <%-JSON.stringify(campgrounds) %>
for(var i=numGroundsLoaded + 1; i<numGroundsLoaded + numGroundsToLoad; i++) {
//code to add grounds[i] to campgroundsRow div
}
numGroundsLoaded += numGroundsToLoad;
}
$("#loadMore").on("click", function() {
loadCampgrounds(numGroundsLoaded, numGroundsToLoad);
});
</script>
我遇到的问题是loadCampgrounds 函数实际上并未更新numGroundsLoaded。所以当我点击加载更多按钮(#loadMore)时,它认为我正在添加ground[0].
我想要的是每次点击加载更多时,都会添加下一个地面。即,ground[0] 默认添加。然后加载更多,ground[1]。然后加载更多,ground[2] 等等(假设现在有无限的理由)。
如您所见,问题与范围和加载内容有关。
【问题讨论】:
标签: javascript jquery scope global-variables ejs