条件状态
简介
此代码片段演示了如何创建一个具有条件的简单 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 撰写