@Leopandro
Разработчик CRM/ERP систем

Как передать модели в js файл?

В контроллере берем модели:
public function actionIndex()
    {
        $searchModel = new BookSearch();
        $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
        return $this->render($this->getIndexByRole(), [
            'searchModel' => $searchModel,
            'models' => $dataProvider->getModels(),
        ]);
    }


Затем пытаемся отобразить :
$script = <<< SCRIPT
var app4 = new Vue({
    el: '#app-4',
    data: {
        todos: '$models'
    }
});
console.log($models);
SCRIPT;
$this->registerJs($script);

<div id="app-4">
        <ol>
            <li v-for="todo in todos">
                {{ todo.id }}
            </li>
        </ol>
    </div>

Но ничего не выходит
  • Вопрос задан
  • 148 просмотров
Пригласить эксперта
Ответы на вопрос 1
kawabanga
@kawabanga
return $this->asJson(ArrayHelper::map($models,'id',function($model){
            return $model->attributes('id');
        }));
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы