如何在Jquery代码中包含 @include('layout.example')?

7 浏览
0 Comments

如何在Jquery代码中包含 @include('layout.example')?

如果我在example.blade.php中有一个小的布局,我该怎么在jquery中使用它?\n当特定的单选按钮被选中时,我想要包含特定的元素,比如文本框,否则不包含。\n示例:\n

$("document").ready(function(){
    if ($("#role").prop( "checked")) {
        $("#content").html(@include('layouts.nav'));
    }
    else
    {
        $("#content").html('');
    }
});

\n上述代码不起作用,请提供一些解决方案。

0
0 Comments

问题的出现原因:在jQuery代码中,想要使用@include('layout.example')来包含一个视图模板,但是@include语法是Laravel框架中的一个特殊语法,而不是jQuery的语法,所以无法直接在jQuery代码中使用。

解决方法:可以通过创建一个在视图中隐藏的div,然后使用jQuery来获取它的HTML内容,然后将该内容插入到指定的位置。具体的解决方法如下:

首先,在视图中创建一个隐藏的div,并将要包含的模板内容放入其中:

<div class="layouts-nav" style="display:none;">
    @include('layouts.nav')
</div>

然后,在jQuery代码中,使用.ready()方法来确保文档加载完成后执行代码。通过判断条件(例如复选框是否被选中),来决定是否将隐藏的div的内容插入到指定的位置:

$("document").ready(function(){
    if ($("#role").prop( "checked")) {
        var layoutNav = $('#layouts-nav').html();
        $("#content").html(layoutNav);
    }
    else
    {
        $("#content").html('');
    }
});

通过以上代码,我们可以在jQuery中模拟使用@include('layout.example')来包含视图模板的功能。

0
0 Comments

无法将@ include('layout.example')包含在Jquery代码中。()是Blade语法,会被PHP解释,而JS在浏览器中运行。当代码到达浏览器时,Blade指令已经被PHP解释。

实际上,如果JS在Blade文件中,则可以这样做,但这是一个糟糕的做法。

如何解决?JS是在Node上运行吗?

0