2016-09-15 27 views
1

请理解这个问题是关于jscript在电子。 我有两个.js文件要打开并读入单个数组。我把它设置为一个主类型函数内的两个函数。 每个都将在JavaScript中的html文件中调用。他们将填充或添加选择选项到选择输入框。动态添加选项元素到<select>在电子

我很难调用他们(数组),所以它可以被读入选择选项代码。下面是('./app.js')

var zipArry = []; 
var zipResult = []; 
var aniArry = []; 
var aniResult = []; 

var blah = (function() { 

    function zipList(callback) { 


    var lineReader = require('readline').createInterface({ 
    input: require('fs').createReadStream('.Text1.txt') 
    }); 

    lineReader.on('line', function (line) { 
     zipArry.push(line); 
    }); 

    lineReader.on('close', function (line) { 

    var Ncount = 0; 
    for(var x =0; x < zipArry.length; x++){ 

     zipResult.push(zipArry[x]); 

    } 
    }); 
    callback(zipResult); 
} 



function aniList(callback) { 


    var lineReader = require('readline').createInterface({ 
    input: require('fs').createReadStream('./text2.txt') 
    }); 

    lineReader.on('line', function (line) { 
     aniArry.push(line); 
    }); 

    lineReader.on('close', function (line) { 

    var Ncount = 0; 
    for(var x =0; x < aniArry.length; x++){ 

     aniResult.push(aniArry[x]); 
     } 

    }); 
    callback(aniResult); 
} 
    return { 
     ziplist: zipList, 
     anilist: aniList 
    }; 
}); 

    module.exports = blah; 

这是带有JavaScript代码的.html文件的一部分。如果有办法让这个更容易,请解释一下。我是一个noob。

var blah = require('./apps2.js'); 
var Blah= new blah();   
Blah.ziplist(); 

var select = document.getElementById("zip"); 
for (var i= 0; i<zipResult.length; i++){ 

    var el = document.createElement('option'); 
     var opt = zipResult[i]; 
     el.textContent = opt; 
     el.value = opt; 
     select.appendChild(el); 
} 

回答

0

下面是答案。我改变了事情,然后制作对象,然后在html文件中导出它们。

var zipArry = []; 
var zipResult = []; 
var aniArry = []; 
var aniResult = []; 

var blah = { 

    ziplist: function zipList(callback) { 


     var lineReader = require('readline').createInterface({ 
      input: require('fs').createReadStream('.Text1.txt') 
     }); 

     lineReader.on('line', function (line) { 
      zipArry.push(line); 
     }); 

     lineReader.on('close', function (line) { 

      var Ncount = 0; 
      for(var x = 0; x < zipArry.length; x++){ 

      zipResult.push(zipArry[x]); 

      } 
      callback(zipResult); 
     }); 

    } 



    anilist: function aniList(callback) { 


     var lineReader = require('readline').createInterface({ 
      input: require('fs').createReadStream('./text2.txt') 
     }); 

     lineReader.on('line', function (line) { 
      aniArry.push(line); 
     }); 

     lineReader.on('close', function (line) { 

      var Ncount = 0; 
      for(var x = 0; x < aniArry.length; x++){ 

       aniResult.push(aniArry[x]); 
      } 
      callback(aniResult); 
     }); 

    } 

}; 

    module.exports = blah; 

在HTML文件中

var blah = require('./apps2.js'); 

Blah.ziplist(function(zipResult){ 

    var select = document.getElementById("zip"); 
    for (var i = 0; i < zipResult.length; i++){ 

     var el = document.createElement('option'); 
     var opt = zipResult[i]; 
     el.textContent = opt; 
     el.value = opt; 
     select.appendChild(el); 
    } 
}); 

Blah.anilist(function(aniResult){ 

    var select = document.getElementById("ani"); 
    for (var i = 0; i < aniResult.length; i++){ 

     var el = document.createElement('option'); 
     var opt = aniResult[i]; 
     el.textContent = opt; 
     el.value = opt; 
     select.appendChild(el); 
    } 
});