【问题标题】:Loop in an array to fill a web page without using HTML but Javascript在数组中循环以填充网页而不使用 HTML 但 Javascript
【发布时间】:2023-03-28 22:21:02
【问题描述】:

我正在学习 Javascript,我发现了一个有趣的问题,要求我在库、艺术家和专辑视图中渲染 library.js 中的模型数据。这意味着我不会提供静态 HTML,而是遍历每首曲目以创建库视图,遍历每个艺术家以创建艺术家视图,并遍历每张专辑以创建专辑视图。由于曲目通过 _id 引用艺术家和专辑,因此我必须先解决这些问题才能填充库视图。 作为 ip,由于所有页面都将使用相同的 app.js,因此在我的 HTML 页面的正文中添加不同的类并基于该类呈现正确的视图会很方便。例如,库视图的主体可以具有类库。 本练习基于音乐播放器的创建。我已经创建了一些代码来使用两个不同的 javascript 文件(练习要求我)来存储曲目和艺术家。然后我有这两个文件:

LIBRARY.JS

model.tracks.push('t1', 'Live like therse no tomorrow', 'Selena Gomez', '', 251);
model.tracks.push('t2', 'The scientist', 'ColdPlay', '', 250);
model.tracks.push(_id, title, artist, file, duration);

模型在哪里:

var model = {
user: [],
artists: [],
albums: [],
playlist: [],
tracks: []
};

APP.JS

window.onload = function(){
// implement the logic to render the views here. Of course, you can call other functions
// to avoid having a huge function
var myStringArray = model.tracks;
var arrayLength = myStringArray.length;
for (var i = 0; i < arrayLength; i++) {
    alert(myStringArray[i]);
    //Do something
}

这个想法适合我的代码还是我必须改变它?如何仅在 javascript 上传输我网页中的所有内容??

【问题讨论】:

    标签: javascript


    【解决方案1】:
    1. 您的想法基本上是正确的(模型必须动态填充数据 - JSON,创建一个渲染函数,该函数将从 onload 处理程序中调用)

    2. 我建议调用 REST 服务来传递 JSON 数据(大数据、变化的数据),或者用压缩的 JSON 数据创建一个字符串变量并通过脚本对其进行膨胀(静态数据、离线应用程序)

    【讨论】:

    • 顺便说一句。您还可以根据您的模型生成 html ;-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-06
    • 1970-01-01
    • 2020-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多