条件状态
简介
此代码片段演示了如何使用条件创建简单的 amp-state
。
设置
我们使用 amp-bind
创建动态 amp-state
。
<script async custom-element="amp-bind" src="https://cdn.ampproject.org/v0/amp-bind-0.1.js"></script>
基本用法
charState
由 input
组件中的 AMP.setState
块设置。我们通过使用 input-throttled 来检查用户输入的 state 是否已更改。如果输入的 state 已更改,我们将检查输入中的当前字符数 (event.value.length
)。字符数决定了将设置哪个 charState
。问号 ?
和冒号 :
之间的项满足所述条件。冒号 :
之后的项适用于任何不满足所述条件的情况。可以在同一个 AMP.setState
块内设置多个条件。
当用户在 input
部分键入少于 10 个字符时,他们会看到消息“字符数少于 10 个,请键入更多字符!”。
当用户在 input
部分键入超过 10 个字符时,他们会看到消息“您已键入超过 10 个字符,现在可以停止了。”。
尝试在文本框中键入一些字符。
<p [text]="charState">
Try typing a few characters into the textbox.
</p>
<input type="textbox" on="input-throttled:AMP.setState({
charState: event.value.length < 10 ?
'There are under 10 characters, type more!' :
'You have typed over 10 characters, you can stop now.'
})">
需要进一步解释吗?
如果此页面上的解释没有涵盖您所有的问题,请随时与其他 AMP 用户联系,讨论您的具体使用案例。
转到 Stack Overflow 一个未解释的功能?AMP 项目强烈鼓励您的参与和贡献!我们希望您能成为我们开源社区的长期参与者,但我们也欢迎您为自己特别关注的问题做出一次性贡献。
在 GitHub 上编辑示例-
由 @elisameyer 编写