首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用amp-bind组件将json结果中的html内容填充到div

如何使用amp-bind组件将json结果中的html内容填充到div
EN

Stack Overflow用户
提问于 2017-10-24 17:09:03
回答 1查看 786关注 0票数 0

我尝试过以下几种方法

Json结果

代码语言:javascript
复制
{
 "details":"<h1>Heading</h1><p>Description</p>"
}

<amp-state id="remoteData" src="/api/get-result" >
</amp-state>

<div [text]="remoteData.details"></div>

现在它显示如下所示

代码语言:javascript
复制
<div [text]="remoteData.details"><h1>Heading</h1><p>Description</p></div>

html标签是作为api call.Is的json结果列出的,有任何方法可以实现这一点。

我也尝试过使用amp-iframe加载它。在服务器上创建了一个额外的页面,并使用iframe调用相同的页面。内容加载正确,但我无法根据内容高度调整div的大小,因为两个来源是相同的。

代码语言:javascript
复制
<amp-iframe width="200" id="myframe" height="40" layout="responsive" resizable sandbox="allow-scripts " frameborder="0"                                         src="https://demo.com/api/get-html"></amp-iframe>

用于动态设置父amp-iframe组件高度的脚本

代码语言:javascript
复制
<script>
window.parent.postMessage({
    sentinel: 'amp',
    type: 'embed-size',
    height: document.body.scrollHeight
}, '*');
</script>

使用amp-bind我无法显示html内容,使用amp-iframe我无法根据content.Can调整iframe高度请任何人帮助。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-10-27 13:25:56

您可以使用amp-list / mustache模板来实现这一点。但是,您仍然受到特定高度的限制。而且你不能注入任意的html。最好在服务器端呈现内容。

如果你这样格式化你的json:

代码语言:javascript
复制
{
    "items" : [ { 
        "heading":"Heading",
        "description":"Description",
        "listItems": ["one", "two", "three"]
    } ]
}

小胡子模板。

代码语言:javascript
复制
<amp-list width="auto" height="50" src="https://myserver/stuff/remoteData.json" max-items="1">
    <template type="amp-mustache">
        <h1>{{heading}}</h1>
        <p>{{{description}}}</p>
        {{#listItems}}
            <li>{{.}}</li>
        {{/listItems}}
    </template>
</amp-list>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46906423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档