4

假设我有一段 jQuery javascript,它在加载时绑定到一个div ,并在该 div 中动态定义一个img。像这样的东西:

$(document).ready(function() {
    $("#container").html("<img href='/images/myimage.jpg/>');
});

如果我在 Laravel 视图中使用这个内联,我可以使用HTML::image()和 Blade 模板来指定图像的位置。像这样的东西:

$(document).ready(function() {
    $("#container").html("{{ HTML::image('images/myimage.jpg', 'My image') }}");
});

如果我要获取那段 javascript,而不是将其内联在视图中,而是将其放在单独的 .js 文件中,例如public/js/image.js,我可以让 Laravel 将其作为资产加载;

Asset::add('image.js', 'js/image.js');

但是,由于它现在只被视为资产,因此 Laravel PHP 和 Blade 模板代码都没有被处理,所以我们从字面上得到字符串{{ HTML::image('images/myimage.jpg', 'My image') } }在生成的 html 中,而不是模板化的值。

有这样的好方法吗?

4

2 回答 2

4

我在这里做这个。我找到的方法是:

1 - 在视图目录树中创建一个“js”文件,类似于

app\views\javascript\mycustomJS.blade.php

2 - 然后在需要的地方渲染它:

<script>
    @include('javascript.mycustomJS')
</script>

它是刀片,它将按应有的方式进行处理。

我知道,这远非理想,但目前它对我有用。:)

于 2013-05-20T00:42:20.277 回答
0

我想你可以把它放在一个php文件中。我以前用css做过这个。

Asset::add('image.php', 'js/image.php');
于 2013-05-19T18:25:50.553 回答