【问题标题】:pass variable to function in volt template in phalcon将变量传递给 phalcon 的 volt 模板中的函数
【发布时间】:2019-10-03 12:21:46
【问题描述】:

这是我将数据传递给视图的控制器: 这里我传递名为 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>

【问题讨论】:

    标签: javascript twig phalcon volt


    【解决方案1】:

    你走在正确的轨道上,但你必须想得更远。

    此时你有以下代码:

    <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>
    

    demo

    【讨论】:

    • 正是这个,同样适用于伏特。
    猜你喜欢
    • 1970-01-01
    • 2020-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-10
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    相关资源
    最近更新 更多