передать переменную в шаблон вольт в phalcon - PullRequest
0 голосов
/ 16 мая 2019

это мой контроллер, который я передаю данные для просмотра: здесь я передаю переменную с именем name:

class IndexController extends ControllerBase
{
    public function indexAction()
    {
        $this->assets->addJs('js/script.js');
        $this->view->setVar('name', 'john');
    }
}

в моем файле volt, я могу использовать переменную name и, например, создать тег заголовка, например {{name}} иэто хорошо, но я хочу передать одну переменную имени в функцию js.в то время как я передаю данные от вольт к моему сценарию.значение переменной name в моем js-файле undefined.как я могу это сделать ??

<div class="form-group d-flex justify-content-center">
<h1 style="color:red;">{{ name }}</h1> //it works
<button onclick="changeLevel(1, 2,{{ name }})" type="submit" class="btn btn-block rounded buttonStyle " id="SendPhone" disabled>تایید شماره</button>
</div>

1 Ответ

3 голосов
/ 16 мая 2019

Вы на правильном пути, но вам нужно подумать немного дальше.

На данный момент у вас есть следующий код:

<button onclick="changeLevel(1, 2,{{ name }})>Click</button>

При запуске этого кода через twig вы получите следующий вывод:

<button onclick="changeLevel(1, 2, john)>Click</button>

Это означает, что вы передадите переменную john в функцию changeLevel, но john не является известной переменной в javascript.


Итак, что вы на самом деле хотите сделать, это передать буквальную строку john, вы можете добиться этого, заключив в кавычки вывод, например,

<button onclick="changeLevel(1, 2,'{{ name }}')>Click</button>

демо

...