如何解决将视图php文件作为字符串传递给yii 2中registerJS中的变量js
我想将php类型的视图传递给registerJS中的变量js 喜欢这里,但我不能
WindowManager:
FirstWindow:
name: 'firstwindow'
SecondWindow:
name: 'secondwindow'
<FirstWindow>:
BoxLayout:
orientation: 'vertical'
MDToolbar:
title: 'SCREEN 1'
Button:
text: 'List maker button'
on_release: root.button_push()
ScrollView:
MDList:
id: list_one
MDFloatingActionButton:
elevation: 8
icon: 'plus'
pos_hint: {'center_x': .5}
on_press:
app.root.current = 'secondwindow'
root.manager.transition.direction = 'left'
<SecondWindow>:
BoxLayout:
orientation: 'vertical'
MDToolbar:
title: 'SCREEN 2'
ScrollView:
MDList:
id: list_two
MDRaisedButton:
text: 'Go Back'
on_release:
app.root.current = 'firstwindow'
root.manager.transition.direction = 'right'
运行后,我看到此错误
未捕获的SyntaxError:无效或意外的令牌
我如何使用它?
解决方法
这可能是因为代码<?=$this->render("_view")?>
必须返回单行或双引号中JS不支持的多行字符串或html数据。使用backtick符号代替下面的单引号
var view_train = `<?=$this->render("_view")?>`;
,
使用简单的JSON编码:
<?php
$viewAsString = \yii\helpers\Json::encode($this->render("_view"));
$script = <<<EOF
var view_train = $viewAsString;
EOF
$this->registerJs($script);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。