当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Google AMP amp-bind用法及代码示例


有时您想向AMP页面添加自定义交互性,以使页面看起来更像user-friendly和用户调用。尽管AMP的预建组件受到限制,但制造amp-bind可以解决此问题。它可以帮助开发人员在不使用AMP预制组件的情况下向页面添加自定义交互性。

设置:要在页面中使用amp-bind,必须将其脚本导入文档标题中。

HTML

<script async custom-element="amp-bind"
    src="https://cdn.ampproject.org/v0/amp-bind-0.1.js">
</script>

Google AMP的amp-bind包含三个主要概念:



  1. State:状态变量负责根据用户操作在页面上进行更新。定义状态变量非常重要。
  2. Expression:它们就像用于引用状态的JavaScript表达式一样。
  3. Binding:它们是一种特殊的属性,用于通过表达式将元素的属性链接到状态。

例:单击按钮时动态添加文本。

HTML

<!doctype html>
<html amp>
 
<head>
    <meta charset="utf-8">
    <title>Google AMP amp-bind</title>
    <link rel="canonical" href=
"https://amp.dev/documentation/examples/components/amp-bind/index.html">
 
    <meta name="viewport" content=
"width=device-width,minimum-scale=1,initial-scale=1">
 
    <script async src=
        "https://cdn.ampproject.org/v0.js">
    </script>
 
    <script async custom-element="amp-bind"
src="https://cdn.ampproject.org/v0/amp-bind-0.1.js">
    </script>
 
    <style amp-boilerplate>
        body {
            -webkit-animation:-amp-start 8s 
                steps(1, end) 0s 1 normal both;
 
            -moz-animation:-amp-start 8s 
                steps(1, end) 0s 1 normal both;
 
            -ms-animation:-amp-start 8s 
                steps(1, end) 0s 1 normal both;
 
            animation:-amp-start 8s 
                steps(1, end) 0s 1 normal both;
        }
 
        @-webkit-keyframes -amp-start {
            from {
                visibility:hidden
            }
 
            to {
                visibility:visible
            }
        }
 
        @-moz-keyframes -amp-start {
            from {
                visibility:hidden
            }
 
            to {
                visibility:visible
            }
        }
 
        @-ms-keyframes -amp-start {
            from {
                visibility:hidden
            }
 
            to {
                visibility:visible
            }
        }
 
        @-o-keyframes -amp-start {
            from {
                visibility:hidden
            }
 
            to {
                visibility:visible
            }
        }
 
        @keyframes -amp-start {
            from {
                visibility:hidden
            }
 
            to {
                visibility:visible
            }
        }
    </style>
 
    <noscript>
        <style amp-boilerplate>
            body {
                -webkit-animation:none;
                -moz-animation:none;
                -ms-animation:none;
                animation:none
            }
        </style>
    </noscript>
     
    <style amp-custom>
        h1 {
            color:forestgreen;
            text-align:center;
        }
    </style>
</head>
 
<body>
    <h1>
        Geeks For Geeks
    </h1>
 
    <div style="padding:1em;">
        <div hidden [hidden]="hideGreeting" 
            style="color:crimson;">
            Welcome to GeeksForGeeks
        </div>
 
        <button on=
"tap:AMP.setState({ hideGreeting:false })">
            Click Me!!
        </button>
    </div>
</body>
 
</html>

输出:

说明:单击该按钮后,名为的隐藏属性hideGreeting已更新,因为其状态通过AMP.setState()操作进行了更新。

用途:amp-bind可用于多种用途,其中一些是:

  • 它可用于动态更改内容。
  • 它可用于动态更新映像。
  • 它可用于动态更改元素的类。
  • 它可用于更改CSS属性的元素值。



相关用法


注:本文由纯净天空筛选整理自aditya_taparia大神的英文原创作品 Google AMP amp-bind。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。