Почему < br > создать новую строку и \ n не в JS

Если вам нужно только сохранить страницу, не так ли легко передать параметр page в ваш url-адрес (<model/view>), например <model>/view?id=<id>&page=<page>?

в вашем представлении index.php , отредактируйте свой ActionColumn следующим образом:

    [
        'class' => 'yii\grid\ActionColumn',
        'urlCreator' => function ($action, $model, $key, $index) {
            return \yii\helpers\Url::to([$action, 'id' => $model->id, 'page' => Yii::$app->request->getQueryParam('page', null)]);
        },
    ],

Как вы можете видеть, я получаю параметр страницы из URL-адреса запроса и передаю его кнопкам действий моделей (всем кнопкам, но в вашем вопросе он будет достаточно для кнопки view, конечно)

И когда вы нажимаете на view модель, в нашем контроллере нам нужно получить это значение page и передать его на наш view.php вид (в

Наш ModelController:

    public function actionView($id, $page = null)
    {
        return $this->render('view', [
            'model' => $this->findModel($id),
            'page' => $page,
        ]);
    }

И, наконец, представление view.php получит значение page и заполнит index url ( если не null):

/* @var $page int */

$this->title = $model->name;
$this->params['breadcrumbs'][] = ['label' => 'Index', 'url' => ['index', 'page' => $page]];

Поэтому, когда вы нажимаете палитру Index, она откроет страницу, в которую вы ввели.


Некоторые преимущества снова повторяют выполнение сеанса ( @ user1764431):

  • Каждая вкладка может вернуться на свою последнюю страницу
  • Простой и глупый раствор

Некоторые недостатки :

[g1 3]
  • Если вам нужно сохранить некоторые параметры фильтра, url может растягиваться очень долго
  • 1
    задан Compiler v2 20 January 2019 в 01:48
    поделиться

    4 ответа

    Document.write создает разметку HTML, а не простой текст. В HTML новая строка представлена ​​элементом <br/>. Если бы вы писали в консоль браузера, вы бы не создавали разметку HTML, поэтому символ новой строки "\ n" будет уместным.

    0
    ответ дан Cat 20 January 2019 в 01:48
    поделиться
    <!DOCTYPE html> 
    <html lang="en-GB"> 
    <head>
    <meta charset="utf-8"> 
    <style> body { white-space: pre-wrap; } 
    </style> 
    </head>
    

    Стиль пробела: предварительная перенос будет отображать '\ n' как новые строки. Так работает HTML, с JavaScript это не проблема.

    0
    ответ дан QuentinUK 20 January 2019 в 01:48
    поделиться

    Как говорит @mrid, когда вы используете document.write('HTML AS STRING') для написания HTML-кода в виде строки, поэтому при использовании \n не является HTML-сущностью, поэтому вы можете использовать <br> html-тег для написания новой строки или используйте html-код сущности как &NewLine; в вашем коде.

    Проверьте официальный список объектов HTML для быстрого ознакомления.

    0
    ответ дан Johuder Gonzalez 20 January 2019 в 01:48
    поделиться

    document.write() пишет блок HTML. А в HTML <br> создает новую строку. Поэтому, если вы хотите создать новую строку при использовании document.write(), вам придется использовать <BR>

    0
    ответ дан mrid 20 January 2019 в 01:48
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: