gpt4 book ai didi

amp-html - 如何为 AMP 未初始化的变量设置默认值?

转载 作者:行者123 更新时间:2023-12-01 01:50:46 25 4
gpt4 key购买 nike

<input type="checkbox" [required]="(currentState == null) ? (true) : (false)">

amp-bind:[必需] 的默认值与第一个表达式结果不匹配 (true)。这可能会导致下一次状态更改后出现意外行为。

编辑:也许更多的上下文可能会有所帮助
<amp-state id="privacySettings">
<script type="application/json">{
"general": {
"mp": "required",
"p1": false,
"p5": false
},
"specific": {
"mp": false,
"p1": "required",
"p5": "required",
"ck": false
}
}
</script>
</amp-state>
<div class="privacy">
<div id="pmaindiv">
<input on="tap:err_mess.hide" role="mainmandatoryprivacy" tabindex="1" type="checkbox" name="main-privacy" id="pmain" class="pmain" value="1" [required]=privacySettings[currentState].mp [checked]=privacySettings[currentState].ck >

分配给 [require] 的每次尝试(但它也代表 [checked] 并且,我猜,对于其他属性)一个值(静态或通过 var)都会得到 bind-amp 错误。
<amp-state id="temp">
<script type="application/json">
{
"var": "general"
}
</script>
</amp-state>

(...) [required]="(currentState==null) ? privacySettings[temp.var].mp : privacySettings[currentState].mp" (...)

如果 currentState 是通过 'on' 属性设置的,它会通过验证并且工作正常。

最佳答案

您是否正在设置 required属性以及 [required]捆绑?

试试这个:

<input type="checkbox" 
[required]="(currentState == null ? 'true' : 'false')"
required="true">

另外,如果 undefined variable ,您可以使用它,
(myVar || 'defaultVal')

如果 myVar未定义,则值为 defaultVal将被使用。

但是设置默认值最正确的方法是使用 <amp-state>像这样:
  <amp-state id="props">
<script type="application/json">
{
"myVar": "blah"
}
</script>
</amp-state>

然后,您可以通过在 id 前面加上前缀来使用该变量。你给了 amp-state像这样的元素:
props.myVar

编辑:以下对我有用

笔记:
1.设置 currentState在最初的 amp-state元素
2.基本的默认值 required属性
<amp-state id="privacySettings">
<script type="application/json">
{
"currentState":"general",
"general": {
"mp": "required",
"p1": false,
"p5": false
},
"specific": {
"mp": false,
"p1": "required",
"p5": "required",
"ck": false
}
}
</script>
</amp-state>
<div class="privacy">
<div id="pmaindiv">
<input role="mainmandatoryprivacy" tabindex="1" type="checkbox" name="main-privacy" id="pmain" class="pmain" value="1"
required="required"
[required]=privacySettings[privacySettings.currentState].mp
>

</div>
</div>

编辑 2:当 currentState 尚未初始化时,以下内容也应该起作用:
<amp-state id="privacySettings">
<script type="application/json">
{
"general": {
"mp": "required",
"p1": false,
"p5": false
},
"specific": {
"mp": false,
"p1": "required",
"p5": "required",
"ck": false
}
}
</script>
</amp-state>


<amp-state id="temp">
<script type="application/json">
{
"var": "general"
}
</script>
</amp-state>

<div class="privacy">
<div id="pmaindiv">
<input role="mainmandatoryprivacy" tabindex="1" type="checkbox" name="main-privacy" id="pmain" class="pmain" value="1"
required="required"
[required]=(currentState==null?privacySettings[temp.var].mp:currentState)
>

</div>
</div>

关于amp-html - 如何为 AMP 未初始化的变量设置默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44722236/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com