将视图(php文件)作为字符串传递给yii 2中registerJS中的变量js
Posted
技术标签:
【中文标题】将视图(php文件)作为字符串传递给yii 2中registerJS中的变量js【英文标题】:pass view (php file) as string to variable js in registerJS in yii 2 【发布时间】:2020-08-23 06:42:48 【问题描述】:我想将 php 类型的视图传递给 registerJS 中的变量 js 喜欢这里,但我不能
var view_train = '<?=$this->render("_view")?>';
运行后我看到这个错误
未捕获的 SyntaxError:无效或意外令牌
我该如何使用它?
【问题讨论】:
【参考方案1】:使用简单的 JSON 编码:
<?php
$viewAsString = \yii\helpers\Json::encode($this->render("_view"));
$script = <<<EOF
var view_train = $viewAsString;
EOF
$this->registerJs($script);
【讨论】:
【参考方案2】:这可能是因为代码<?=$this->render("_view")?>
必须返回多行字符串或 html 数据,而 JS 不支持单引号或双引号。使用backtick 符号而不是像下面这样的单引号
var view_train = `<?=$this->render("_view")?>`;
【讨论】:
以上是关于将视图(php文件)作为字符串传递给yii 2中registerJS中的变量js的主要内容,如果未能解决你的问题,请参考以下文章