GVKun编程网logo

通过 JavaScript 问题呈现 HTML 卡片(html card)

1

想了解通过JavaScript问题呈现HTML卡片的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于htmlcard的相关问题,此外,我们还将为您介绍关于ASP.NETMVC中@Html.Pa

想了解通过 JavaScript 问题呈现 HTML 卡片的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于html card的相关问题,此外,我们还将为您介绍关于ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction、asp.net – Html.Partial vs Html.RenderPartial&Html.Action vs Html.RenderAction.任何人都可以描述不同之处、asp.net 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction、AssertionError [ERR_ASSERTION]: html-pdf: 无法在 html-pdf 中创建没有 html 字符串的 pdf的新知识。

本文目录一览:

通过 JavaScript 问题呈现 HTML 卡片(html card)

通过 JavaScript 问题呈现 HTML 卡片(html card)

如何解决通过 JavaScript 问题呈现 HTML 卡片

所以基本上我的代码的想法是什么:用户输入图像 URL、价格和描述,然后点击 ''create card'' 然后它应该创建一张卡片。

用户创建的所有产品都保存在''productsArr''数组中;

在用户点击创建卡片后,它应该从 ''productsArr'' 数组中渲染 HTML 并显示所有卡片,但由于某种原因,它只创建了一张卡片,然后将其复制到 HTML 中?

有人可以告诉我我的 JS 代码有什么问题吗?

PS 对不起我的英语

let productsArr = [];

let product = {
    image: null,price: null,description: null,id: null
}

function getInfo() {
    product.image = document.getElementById("image").value;
    product.price = document.getElementById("price").value;
    product.description = document.getElementById("description").value;
    product.id = document.getElementById("id").value;
}

function render() {
    let arr = productsArr;
    for (let i = 0; i < arr.length; i++) {
        let str = '''';
        str = '' <divdata-id="i">\\n'' +
            ''            <img id="img" src="'' + arr[i].image + ''" alt="#">\\n'' +
            ''            <div>'' + arr[i].description + ''</div>\\n'' +
            ''            <div>'' + arr[i].price + ''</div>\\n'' +
            ''            <input type="button" value="В коризну">'' +
            ''       </div>''
        document.getElementById(''all_products'').innerHTML += str;
        arr = [];
    }
}

function pushIt() {
    getInfo();
    productsArr.push(product);
    render(productsArr);
    product = {
        image: null,id: null
    }
}

function sortByPrice() {
    productsArr.sort((a,b) => parseFloat(a.price) - parseFloat(b.price));
}

console.log(productsArr)
.container {
    max-width: 2000px;
    margin: 0 auto;
    display: flex;
}

.form {
    height: 420px;
    width: 30%;
    padding: 50px;
    background: #73AFBA;
    border-radius: 10%;
}
label {
    display: flex;
    flex-direction: column;
}
.products-section {
    width: 70%;
}
.products-section-header {
    display: flex;
    justify-content: center;
    align-items: center;
}
.products {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin-left: 50px;
}

input {
    width: 100%;
    margin: 10px 0;
}
.item_body {
    width: 30%;
    padding: 10px;
    margin: 20px;
    height: 400px;
    border: #1C2E3D solid 1px;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    text-align: center;
}
.item_body img {
    max-width: 80%;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <link href="styles.css" rel="stylesheet">
    <title>Title</title>
</head>
<body>
<div>
    <div>
        <label>
            <p>Image</p>
            <input id="image" type="text" name="image">
            <p>Price</p>
            <input id="price" type="text" name="price">
            <p>Description</p>
            <input id="description" type="text" name="description">
            <p>Id</p>
            <input id="id" type="text" name="id">
            <input type="submit" value="Create card" onclick="pushIt()">
        </label>
    </div>
    <div>
        <div>
            <input type="button" name="sortByPrice" value="Sort by price" onclick="sortByPrice()">
        </div>
        <divid=''all_products''></div>
    </div>
</div>
<script src="script.js"></script>
</body>
</html>

解决方法

当您在 productsArr 中推送产品时。因此,不是将 productsArr 传递给 render 函数,而是将当前产品传递给渲染函数。 这样,您就不需要在 for 函数中使用 render 循环,您也可以使用 productsArr 以备将来使用。

所以你的函数看起来像:

function pushIt() {
    getInfo();
    productsArr.push(product);
    render(product);
    product = {
        image: null,price: null,description: null,id: null
    }
}

而您的 render 函数将变为:

function render(product) {
        let str = '''';
        str = '' <divdata-id="i">\\n'' +
            ''            <img id="img" src="'' + product.image + ''" alt="#">\\n'' +
            ''            <div>'' + product.description + ''</div>\\n'' +
            ''            <div>'' + product.price + ''</div>\\n'' +
            ''            <input type="button" value="В коризну">'' +
            ''       </div>''
        document.getElementById(''all_products'').innerHTML += str;
}

ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction

ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction

1.Action、RenderAction加载办法的视图,履行Controller → Model → View的次序,然后把产生的页面带回到本来的View中再回传。而Partial、RenderPartial直接加载视图文件内容

2.Html.Partial可以直接供给用户控件名作为参数,而Html.Action须要有对应的Action,在Action内部返回PartailResult(即retun PartialView())。

3.对于简单的没有任何逻辑的用户控件,推荐应用Html.Partial;对于须要设置一些Model的用户控件,推荐应用Html.Action。当然,有Model数据也是可以应用Html.Partial办法的,可以看办法的重载。

4.Html.Partial与Html.Action有啥区别呢?区别就是,Html.Partial只有一个视图,而Html.Action除了视图,还真的有个Action跟它对应,所以,Html.Action功能比Html.Partial要强。

 

如何调用这个Html.Partial

 //1、以视图名使用当前文件夹下的视图(如果没有找到,则搜索 Shared 文件夹)
@Html.Partial( "_test" //加载对应文件 /Views/Product/_test.cshtml
 
//2、依据应用根路径定位视图// 以 "/" 或 "~/" 开头的路径代表应用根路径
@Html.Partial( "~/Views/Product/_test.cshtml" )
@Html.Partial( "/Views/Product/_test2.cshtml" )
 
//3、加载其他目录的 视图文件
//注意:需要复制views中的web.config 到template目录,否则会提示  "/template/A.cshtml”处的视图必须派生自 WebViewPage 或 WebViewPage<TModel>"
@Html.Partial( "/template/A.cshtml" )

asp.net – Html.Partial vs Html.RenderPartial&Html.Action vs Html.RenderAction.任何人都可以描述不同之处

asp.net – Html.Partial vs Html.RenderPartial&Html.Action vs Html.RenderAction.任何人都可以描述不同之处

在ASP.NET MVC中,有什么区别:

Html.Partial and Html.RenderPartial
Html.Action and Html.RenderAction

解决方法

Html.Action调用控制器的动作,这意味着它实例化控制器实体,调用动作方法,构建模型并返回视图结果.

Html.Partial使用已创建的模型(或者可以在没有模型的情况下调用)来渲染指定的视图.

何时使用一个而不是另一个?如果您已有模型并且只想拥有可重复使用的视图,请选择Html.Partial.如果你看到某个部分值得拥有自己的模型和动作,那么使用Html.Action可能是有意义的.

这个问题在this article中有更详细的讨论,你在上面看到的基本上是它的摘录.

asp.net 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction

asp.net 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction

1、带有Render的方法返回值是void,在方法内部进行输出;不带的返回值类型为MvcHtmlString,所以只能这样使用:

     @Html.Partial 对应 @{Html.RenderPartial(....);}@Html.Action 对应 @{Html.RenderAction(....);}

2、Html.Partial可以直接提供用户控件名作为参数,

    而Html.Action需要有对应的Action,在Action内部返回PartailResult(即retun PartialView())。

3、对于简单的没有任何逻辑的用户控件,推荐使用Html.Partial;对于需要设置一些Model的用户控件,推荐使用Html.Action。当然,有         Model数据也是可以使用Html.Partial方法的,可以看方法的重载。

4、使用Html.Action有个好处,就是可以根据不同的场景选择不同的用户控件。比如:@Html.Action("UserInfoControl")在对应的    UserInfoControl这个Action中,在用户未登录的时候,可以retun PartialView("LogOnUserControl");登录后,可以retun  PartialView("UserInfoControl");

AssertionError [ERR_ASSERTION]: html-pdf: 无法在 html-pdf 中创建没有 html 字符串的 pdf

AssertionError [ERR_ASSERTION]: html-pdf: 无法在 html-pdf 中创建没有 html 字符串的 pdf

如何解决AssertionError [ERR_ASSERTION]: html-pdf: 无法在 html-pdf 中创建没有 html 字符串的 pdf

在我的 nodejs 应用程序中使用 html-pdf 包创建 pdf 文件时出现此错误

AssertionError [ERR_ASSERTION]: html-pdf: 无法在 html-pdf 中创建没有 html 字符串的 pdf

res.render(''pdf/attend-report'',{ data: attendData,date: `From: ${date(req.body.repFromDate || req.params.from)} To: ${date(req.body.repToDate || req.params.to)} - ${days} days(s)` },function(err,html) {
            pdf.create(html,options).toFile(''../public/pdf-html/attend-report.pdf'',result) {
                if (err) {
                    return console.log(err);
                } else {
                    // console.log(res);
                    var datafile = fs.readFileSync(''../public/pdf-html/attend-report.pdf'');
                    res.header(''content-type'',''application/pdf'');
                    res.send(datafile);
                }
            });
        })

如果我创建 html 链接“const html = fs.readFileSync(''../views/pdf/attend-report.ejs'',''utf8'');”我仍然找不到文件

修复此错误的任何帮助

我们今天的关于通过 JavaScript 问题呈现 HTML 卡片html card的分享已经告一段落,感谢您的关注,如果您想了解更多关于ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction、asp.net – Html.Partial vs Html.RenderPartial&Html.Action vs Html.RenderAction.任何人都可以描述不同之处、asp.net 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction、AssertionError [ERR_ASSERTION]: html-pdf: 无法在 html-pdf 中创建没有 html 字符串的 pdf的相关信息,请在本站查询。

本文标签:

上一篇如何将 php json 文件添加到 javascript 文件中?(php写入json文件)

下一篇我有 javascript 代码 getElementsByClassName 它将如何在 php 上?(js中getelementsbyclassname)