javascript - registerJS 中的数组到字符串转换 - Yii2

标签 javascript php arrays yii2 data-conversion

在我看来,我有一个可以通过执行以下操作来访问的数组:

$model->stabilimenti;

现在在同一个 View 中,在 registerJS 中,我尝试将此数组保存在 Javascript 数组中,以便我可以添加一些客户端检查。

<?php
$this->registerJs(<<<JS
    jQuery(document).ready(function(){

    let jsArray = [];
    jsArray = $model->stabilimenti;

JS
);

对于非数组变量,这种方法有效。

我也尝试过使用这种表示法,但没有成功。

let jsArray = <?php echo json_encode($model->stabilimenti); ?>;

这是合法操作吗?

最佳答案

您缺少 .ready(function(){ 函数的右大括号和括号 })(如果这不是在此处粘贴代码的拼写错误)。

您应该在数组 $model->stabilimenti 上使用 yii\helpers\JSONjson_encode 将 php 数组解析为留在 php 中的 javascript > 并将其转换为 json,然后将其分配给 javascript 变量。并尝试在注册脚本时使用 \yii\web\View::POS_READY 在 DOM 就绪时加载代码。

并且您应该将代码彼此分开。请参阅下面的代码,它应该可以正常工作

<?php
$stabilimenti = \yii\helpers\Json::encode($model->stabilimenti);

$js = <<<JS
jQuery(document).ready(function(){
    let jsArray = {$stabilimenti};
});
JS;
$this->registerJs($js, \yii\web\View::POS_READY);

关于javascript - registerJS 中的数组到字符串转换 - Yii2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60605021/

相关文章:

javascript - 在自定义小部件中添加 dojo 小部件

javascript - Ajax 请求仅在第一次有效,在加载部分页面后不再有效

javascript - haxe未初始化成员变量跨平台不一致

php - Mpdf : Set 0 margin for page 1 only

javascript - 我如何在 javascript 的 url 中发送变量

php - mySQL 按问题分组

javascript - 替换并打印 jquery formData 值

C访问其文件从未调用过的数组

使用数组从 Access 求和的 PHP 总和

ruby - 惰性数组的评估?