将变量传递给 phalcon 中的伏特模板中的函数
pass variable to function in volt template in phalcon
这是我传递数据以查看的控制器:
我在这里传递名为 name 的变量:
class IndexController extends ControllerBase
{
public function indexAction()
{
$this->assets->addJs('js/script.js');
$this->view->setVar('name', 'john');
}
}
在我的 volt 文件中,我可以使用名称变量,例如创建像 {{name}}
这样的标题标签,这很好,但我想要的一件事是我想将名称变量传递给 js 函数。当我将数据从伏特传递到我的脚本时。我的 js 文件中 name 变量的值为 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>
你的方向是正确的,但你要考虑得更远一些。
此时您有以下代码:
<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>
这是我传递数据以查看的控制器: 我在这里传递名为 name 的变量:
class IndexController extends ControllerBase
{
public function indexAction()
{
$this->assets->addJs('js/script.js');
$this->view->setVar('name', 'john');
}
}
在我的 volt 文件中,我可以使用名称变量,例如创建像 {{name}}
这样的标题标签,这很好,但我想要的一件事是我想将名称变量传递给 js 函数。当我将数据从伏特传递到我的脚本时。我的 js 文件中 name 变量的值为 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>
你的方向是正确的,但你要考虑得更远一些。
此时您有以下代码:
<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>