javascript - Smarty 变量不会从 Javascript 内部更改
问题描述
我有一个 smarty 变量分配给 false。然后在 Javascript 中,我将运行一个函数来返回 smarty 变量是否应该更改为 true 或保持为 false。目前我总是得到else
jsif
语句的一部分。
这是一个非常简单的例子,但它明白了……如果生成的随机数1
将 smarty 变量更改为 true,否则将其保持为 false。
{assign var= "testB" value= false }
<script language="JavaScript" type="text/JavaScript">
{literal}
let randNum = Math.round(Math.random());
if(randNum == 1){
{/literal} "{$testB = true}" {literal}
} else {
{/literal} "{$testB = false}" {literal}
}
console.log( randNum );
console.log( {/literal} "{$testB}" {literal} );
{/literal}
</script>
我错过了什么?这是漫长的一天,所以这可能是我想念的非常明显的东西:-)
谢谢
更新:
如果我console.log()
在 if 语句中运行,他会告诉我它正确地遍历了 if 语句,但是 smarty 变量将始终更改为 false,或者我在{else}
.
let randNum = Math.round(Math.random());
if(randNum == 1){
{/literal} "{$testB = true}" {literal}
console.log('here');
} else {
{/literal} "{$testB = false}" {literal}
console.log('here2');
}
因此,使用上面的代码,如果randNum
为 1,它将控制台记录“此处”,但 smarty 变量将为 false - 或者我在{else}
.
解决方案
推荐阅读
- java - 为什么java对吉他和弦给出不同的结果
- http-live-streaming - 如何为多个用户流式传输实时视频?
- c# - 反序列化泛型类型无法设置类型 T 的属性
- bash - 如何迭代文件中的行并将字段读入变量
- javascript - 我的数据表中有大量记录,有 37 列,打印页面出现数据崩溃
- callback - Dataflow管道完成后如何执行一组操作?
- kentico - Kentico IEnumerable
在我的控制器中为空 - flutter - Flutter:如何使用 for 循环更改警报框中的 ProgressBar 值
- arduino-c++ - 使用指针 Arduino 调用函数时出现问题
- java - 导出 Eclipse-RCP 应用程序时出错:无法解析导入的 org.osgi.service.component