模块模式,我该怎么办?

时间:2017-05-31 17:51:50

标签: javascript design-patterns module

我想在这个简单的应用程序中使用模块模式,您可以在其中搜索国家/地区,并显示一些城市。我已经阅读过有关模块模式的内容,它似乎是一个有用的东西。

我需要一些语法方面的帮助。我写的是我认为是正确的,但它没有用,所以我评论了它,有人可以尝试向我解释如何在我自己的例子中使用它,我更容易理解。您可以在下面看到我尝试过的代码。

" searchElements"和" getAllElements"是我想要在模块文件中使用的函数,以及JSON对象。

https://codepen.io/anon/pen/gWVeZO?editors=1010

// var search_elements = (function(){

var searchElements = 
document.getElementById("btn").addEventListener("click", (e) => {
container.innerHTML = "";
e.preventDefault();
var innerDiv = document.getElementsByTagName("div");
var input = document.getElementById("input").value;

for(var i = 0; i < arrayList.length; i += 1) {
    target = arrayList[i].land.toLowerCase();

    if(input.toLowerCase() === target.toLowerCase()) {
        var newCard = document.createElement("div");
        var landElement = document.createElement("P");
        var landContent = document.createTextNode(arrayList[i].land);
        landElement.appendChild(landContent);
        var byElement = document.createElement("h3");
        var byContent = document.createTextNode(arrayList[i].by);
        byElement.appendChild(byContent);
        var img = document.createElement("img");
        img.setAttribute("src", arrayList[i].img);
        newCard.appendChild(img);
        newCard.appendChild(landElement);
        newCard.appendChild(byElement);
        container.appendChild(newCard);
    } else {
        continue;
    }
}

return {
  searchElements: searchElements
 }
});


// var get_all = (function(){

var getAllElements = 
document.getElementById("btnTwo").addEventListener("click", (e) => {
container.innerHTML = "";
e.preventDefault();
var innerDiv = document.getElementsByTagName("div");

for(var getAll = 0; getAll < arrayList.length; getAll += 1){
    var newCard = document.createElement("div");
    var landElement = document.createElement("P");
    var landContent = document.createTextNode(arrayList[getAll].land);
    landElement.appendChild(landContent);
    var byElement = document.createElement("h3");
    var byContent = document.createTextNode(arrayList[getAll].by);
    byElement.appendChild(byContent);
    var img = document.createElement("img");
    img.setAttribute("src", arrayList[getAll].img);
    newCard.appendChild(img);
    newCard.appendChild(landElement);
    newCard.appendChild(byElement);
    container.appendChild(newCard);
}

return {
  getAllElements: getAllElements
}
});

0 个答案:

没有答案