我有一个名为include/data.blade.php
的模板文件,该文件的末尾有换行符。 (这是我不想更改的IDE默认配置)
所提到的模板通过以下方式包含在另一个模板中:
# parent blade template
<script>
let tpl = '@include("include.data")';
</script>
由于data.blade.php
以空白行结尾,在模板渲染后,我在浏览器中遇到了一个JavaScript错误:
Uncaught SyntaxError: Invalid or unexpected token
问题是:我可以以任何方式修剪包含的模板吗?
答案 0 :(得分:1)
这是laravel 5.6+的解决方案。
在trim
中注册一个新的AppServiceProvider::boot()
刀片指令:
//Register starting tag
Blade::directive('trim', function() {
return '<?php ob_start() ?>';
});
//Register ending tag
Blade::directive('endtrim', function() {
return "<?php echo trim(ob_get_clean()); ?>";
});
使用注册指令如下:
# parent blade template
<script>
let tpl = '@trim @include("include.data") @endtrim';
</script>