我在laravel视图中有打印值问题,我试图在laravel blade中打印$scope
值。我搜索并找到两种解决方案。
1-更改angularjs打印标记
通过此method,我可以更改angularjs打印标记。
var app = angular.module('app', []);
app.config(function($interpolateProvider) {
$interpolateProvider.startSymbol('<%');
$interpolateProvider.endSymbol('%>');
});
app.controller('app', function ($scope, $http) {
$scope.text_print = 'this is text';
});
现在在刀片中我可以打印<% text_print %>
2-添加@
以打印angularjs $scope
值
我找到了一个上升的answer,其中@Paul A.T.威尔逊说那个
最简单的方法是在Angular代码前面使用@
示例@{{text_print}}
两者都在为我工作,实际上我想制作一个插件,我应该使用哪种方法?因为我不确定第二个是否与laravel旧版本兼容。我希望我的插件兼容所有版本的laravel。
任何人都可以指导我这件事,我很感激。谢谢
答案 0 :(得分:2)
如果您希望插件与旧版本的Laravel一起使用,更改Blade或angular的插值字符串是最佳选择。
对于Blade,在Laravel应用程序的AppServiceProvider.php文件中,在引导功能中添加以下代码:
public function boot() {
Blade::setRawTags("[[", "]]");
// for variables and Blade
Blade::setContentTags('<%', '%>');
// for escaped data
Blade::setEscapedContentTags('<%%', '%%>');
}
注意:在我看来,更改角度的插值标签更容易,因为更改刀片的插值标签需要 清除 storage/framework/views
文件夹。
显然还有另一种方法可以做到这一点,但我不确定它是否适用于旧版本:
@verbatim
<div>
{{ variableOne }}
{{ variableTwo }}
</div>
@endverbatim
逐字注释表示该部分 as-is ,即:Blade会将其删除。