小编Jam*_*nna的帖子

如何在需要等待内容加载的动态页面上使用JSON-LD添加结构化数据?

我正在开发一个网站,我想将结构化数据添加到详细页面.问题是我需要在知道要添加到JSON-LD脚本的内容之前请求数据.

我使用Parse作为后端.我还试图寻找有关如何实现这一目标的教程,但似乎无法动态添加JSON-LD.

我真的希望有人可以帮助我!:)

编辑:

在DOM准备好之后,我需要在JSON-LD中添加数据的响应.这种情况下的模式是什么?

我有一个项目列表,当点击其中一个项目时,我必须打开一个我必须先加载的详细信息页面,但是在加载内容之后我想通过JSON-LD提供结构化数据.

我刚开始,我很难解决这个问题.

编辑2:

这是我的实际实现:

在HTML中:

<body>
    // my html page code
    ...
    <script type="text/javascript">
        loadDetailPageContent();
    </script>
</body>
Run Code Online (Sandbox Code Playgroud)

在JS中:

function loadDetailPageContent() {
    // Calling the method here is too early because I don't have info
    //writeData();
    createDetailPage();
}

function createDetailPage() {
    var recipe = Parse.Object.extend("Recipe");
    var query = new Parse.Query(recipe);
    query.equalTo("objectId", myId);
    query.first({
        success: function(result) {
            // Calling the method here would be perfect
            writeData();
        },
        error: function(error) {
            alert("Error: " + error.code + " " …
Run Code Online (Sandbox Code Playgroud)

json structured-data parse-platform json-ld

10
推荐指数
1
解决办法
6335
查看次数

Angular NgRx Store TypeError:无法分配给对象“[object Object]”的只读属性“primary”

我在 NgRx 存储中有一个对象数组,如下所示:

[ {email: 'firstemail@domain.com', primary: true, type: 'WORK'}, 
  {email: 'secondemail@domain.com', primary: true, type: 'WORK'}, 
  {email: 'thirdemail@domain.com', primary: true, type: 'WORK'} ]
Run Code Online (Sandbox Code Playgroud)

从商店检索数据时,我将上述数组分配给组件内的属性。

我使用上述数据循环遍历 HTML 元素,用现有信息填充它们*ngFor

当我尝试更改数据(例如单击按钮将特定“主”键的值转换为相反的值(即 true 变为 false,false 变为 true))时,由于以下错误,数据无法更改:

TypeError: Cannot assign to read only property 'primary' of object '[object Object]'
Run Code Online (Sandbox Code Playgroud)

下面是代码:

// Get data from store and assign to local property
this.myData = this.store$.existingData;

<div class="form-element" *ngFor="let email of myData; let index = index">
    <input type="text" placeholder="Email Address" [(ngModel)]="email['email']" />
</div>
Run Code Online (Sandbox Code Playgroud)

我尝试将 this.myData 重新分配给另一个属性,然后循环遍历该属性,并使用 …

typescript ngrx angular ngrx-store

6
推荐指数
1
解决办法
7714
查看次数

无法循环遍历 Vue 3 Reactive Array prop(代理)

任务

我正在开发一个产品市场。每个产品都有一个 ID 和一系列与每个产品相关的信息。

有一个产品包的概念,简单地说就是一个产品是其他产品的捆绑。

在 GET PACKAGES 响应中,有一组与此包内的产品相关的 ID。在页面的其他位置,我请求产品列表,因此我已经有了所需的数据,我只需要连接两个数据集。

该任务涉及在 UI 中显示包以及每个产品的描述(位于 GET PRODUCTS 的另一个响应中),该描述通过两个数据集之间的 ID 连接。

设置说明

我有一个父组件,它调用“获取产品”和“获取包”。

我将包传递给可重用的 Vue 组件,以在 UI 中显示该包的基本信息。除此之外,我还将所有产品传递给组件,以便我们可以获得正确的产品描述以显示在包 UI 的预览中。

问题

当将产品列表传递到子组件时,我可以完美地控制台记录整个产品数组,但是当我尝试循环它们(通过 MAP 或 FOREACH)时,什么也没有发生。循环内没有控制台日志;就像循环根本没有运行一样。

父组件代码

<package 
    v-for="package in packages" 
    :key="package.id"
    :packages="package"
    :products="products"
></package>

// I get both sets of data in beforeOnMount and push it to the below variables
const packages = reactive<Array<Package>>([]);
const products = reactive<Array<Product>>([]);
Run Code Online (Sandbox Code Playgroud)

子组件代码

props: {
    packages: Object as () => Package,
    products: Object as () => Array<Product> …
Run Code Online (Sandbox Code Playgroud)

vue.js vue-component vue-reactivity vuejs3 vue-composition-api

6
推荐指数
1
解决办法
8768
查看次数

jQuery在第二次点击时反转动画

我有一个div元素,在点击事件中,链接滑入.这很好用,除了我现在试图得到它,以便如果第二次点击链接,动画将反转到其原始状态.

我试图在链接中添加一个类,但是当动画运行时,它最终会执行相同的动画但向后.

    $('a.contact').click(function() {
        $('#contact').animate({marginLeft:'500px'}, {queue:false, duration:'7000'});
        $('#contact').animate({width:'500px'}, {duration:'7000'});
        $('a.contact').css()
        $('a.contact').animate({marginLeft:'-500px'}, '250');
        $('a.contact')addClass('open');
    return false;
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-animate

4
推荐指数
1
解决办法
3万
查看次数

如何更改<hr>标签的厚度和颜色?

我可以看到这已经得到了解答,但我已经尝试了所有的解决方案,但仍然几乎没有可见的人力资源.

我究竟做错了什么?

hr {
    background-color: dimgrey;
    color: dimgrey;
    border: solid 2px dimgrey;
    height: 5px;
    width: 1000px;
}
Run Code Online (Sandbox Code Playgroud)

html css colors thickness

3
推荐指数
1
解决办法
3万
查看次数