Я пытаюсь создать редактор уценки.
Пока: я загрузил страницу index
. Я использую fs.readdir
, чтобы получить заголовки всех файлов уценки и отобразить их на боковой панели. Затем, нажав на этот заголовок #content
, вы получите содержимое.
module.exports = (win) => {
fs.readdir( './data', (err, data) =>{
data.map(title => {
if(title.split('.md').length==2){
el = document.createElement("li"); // get gave it the title ..
el.addEventListener('click', function(e){
fs.readFile(`./data/${title}`, (err, data) => {
document.getElementById('content').innerHTML = data;
});
})
document.getElementById('titles').appendChild(el) // title are on the page
Проблема в том, что я представляю другую страницу
У меня есть страница настроек
win.loadURL(path.join('file://', __dirname, '../static/preferences.html'))
У него та же боковая панель, поэтому я импортирую тот же код, чтобы получить заголовки. Но теперь, когда я нажимаю одну из ссылок, я не хочу document.getElementById('content').innerHTML = data;
, но я хочу загрузить index
страницу , а затем добавить содержимое
Пока я пробовал это
const checkPageState = (pageName, callback) => {
if(pageName === "preferences"){
ipcRenderer.send(GO_TO_PAGE, 'index')
}
setTimeout(callback(), 1000);
}
...
el.addEventListener('click', function(e){
checkPageState(win, ()=>{
fs.readFile(`./data/${title}`, (err, data) => {
if (err) throw err;
fileDir = `./data/${title}`;
document.getElementById('content').innerHTML = data;
});
})
})
Я думал, что ipcRenderer.send(GO_TO_PAGE, 'index')
загрузит страницу индекса (что и делает), когда немного подождет, а затем вставит данные на страницу index
. Это не так!
Как я могу это сделать?