调用在Yielding Content中的母版页中创建的Javascript变量

时间:2015-10-26 01:04:08

标签: javascript jquery laravel

我正在使用Laravel 5,我可以在其中创建母版页(页眉,页脚)并导入该母版页中的每个页面内容。

我的标题(母版页)中有一个下拉列表,在javascript中,我有一个连接到它的变量 - var clickable = true;

//Master Blade
@yield('content')

<script>
   var clickable = true;    

   $('.dropdown).click(function() {
      clickable = false;
   })';
</script>

在我看来(内容),我有一个功能,我也想改变clickable = true;

//View
   ('.contentElement').click(function() {
       clickable = true;
   });

然而,它不承认它。有没有办法可以实现我想要的目标?

2 个答案:

答案 0 :(得分:1)

您最有可能引用的是另一个 scope 的变量。很难判断您提供的最小代码是否属于这种情况,但很可能这就是您的变量未被识别的原因。

您不应该在模板的不同部分编写JavaScript,这会使代码难以维护。相反,将所有JavaScript代码放在自己的.js文件中,并将其包含在您的页面中。

这样做有很多好处,但主要是它可以帮助您更好地构建代码并节省无意义的调试时间。

答案 1 :(得分:0)

我找到了答案。我创建了

<body>
  <script>
      var clickable = false;
  </script>
    ....
  @yield('content')
  <script> /* rest of JS */ </script>
</body>