在js文件中嵌入laravel路由

时间:2017-03-22 16:55:52

标签: javascript php laravel-5

我有一个js文件,其中append / remove导航栏中的导航栏项目取决于屏幕的大小。我遇到的一个问题是当我使用这个href="{{URL::to('/product1')}}"时这很好用,而控制台显示为href="http://localhost/devFairtex/public/product1"。但是当我在javascript文件中做同样的事情时就像这样

 var aboutUsLink = "{{URL::to('/aboutUs')}}";
 $('.navbar-nav').append('<li id="aboutUsRemoveList" class="nav-item"> <a class="nav-link" href='+aboutUsLink+'><span>About Us</span></a> </li>');

在控制台中显示为实际文本,它不会更改为显示为href="{{URL::to('/aboutUs')}}"的实际链接

我不明白这个问题。我怎样才能克服这个问题?

1 个答案:

答案 0 :(得分:1)

当您从公共目录访问JS文件时,它不会被刀片模板引擎解析,因此会保留您的刀片代码{{}}。 解决这个问题的方法是 在您的视图(刀片文件)中编写此代码:

<script type="text/javascript">
    window.aboutUsLink = "{{URL::to('/aboutUs')}}";
</script>

并在您的javascript文件中添加以下代码:

$(document).ready(function(){
    $('.navbar-nav').append('<li id="aboutUsRemoveList" class="nav-item"> <a class="nav-link" href='+window.aboutUsLink+'><span>About Us</span></a> </li>');
});