0

htmlARRブロックで名前が付けられた変数を定義していますif/elseelseブロック内の変数をコメントアウトするとundefinedと表示されますが、コメントアウトしないと結果が表示されます。

注:変数のスコープをelse内に入れることはできません。

coffeeAllColGenHTML : function (allData, more) {
            console.log("WATER" + allData.WATER);
            console.log("providerWATER" + allData.PROVIDER_WATER);

            if (more) {
                var htmlArr = [];
                htmlArr.push(allData.COFFEE_DISH, "<br/><span class='sub-detail'>", allData.WATER, "</span>");
                return htmlArr.join("");
            } else {
/* this line */ //var htmlArr = [];
                htmlArr.push(allData.COFFEE_DISH, "<br/><span class='sub-detail'>", allData.PROVIDER_WATER, "</span>");
                return htmlArr.join("");
                //return allData.COFFEE_DISH;
                //console.log(allData.COFFEE_DISH);
            }
        },
4

1 に答える 1

9

変数宣言のスコープを設定する必要があります。

coffeeAllColGenHTM: function (allData, more) {
        console.log("WATER" + allData.WATER);
        console.log("providerWATER" + allData.PROVIDER_WATER);
        var htmlArr = [];

        if (more) {
            htmlArr.push(allData.COFFEE_DISH, "<br/><span class='sub-detail'>", allData.WATER, "</span>");
            return htmlArr.join("");
        } else {
            htmlArr.push(allData.COFFEE_DISH, "<br/><span class='sub-detail'>", allData.PROVIDER_WATER, "</span>");
            return htmlArr.join("");
            //return allData.COFFEE_DISH;
            //console.log(allData.COFFEE_DISH);
        }
    },
于 2013-08-14T16:50:47.137 に答える