如何在呈现laravel视图时在.php文件中使用AngularJS
我对拉威尔和安格拉斯都是新手。我试图呈现一个视图,它是一个php文件。正在呈现.php文件,但未计算其中的AngularJS表达式如何在呈现laravel视图时在.php文件中使用AngularJS,php,html,angularjs,laravel-5,Php,Html,Angularjs,Laravel 5,我对拉威尔和安格拉斯都是新手。我试图呈现一个视图,它是一个php文件。正在呈现.php文件,但未计算其中的AngularJS表达式 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" >
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"> </script>
<script src='public/AngularSorter.js'></script>
<script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js"> </script>
</head>
<body ng-app = 'store'>
<div ng-controller ='SorterController as sorter'>
<p>
{{ 4+4 }}
</p>
</div>
</form>
</body>
</html>
我错过什么了吗?我尝试将php文件重命名为.html,但没有成功。为什么视图不能呈现.html文件
我得到的输出是{4+4},而不是8。laravelblade和AngularJS使用相同的语法处理变量{}。为了避免这种情况,您必须更改blade的语法或AngularJS的语法 更改AngularJS语法:
var sampleApp = angular.module('sampleApp', [], function($interpolateProvider) {
$interpolateProvider.startSymbol('<%');
$interpolateProvider.endSymbol('%>');
});
var sampleApp=angular.module('sampleApp',[],函数($interpolateProvider){
$interpolateProvider.startSymbol(“”);
});
-或-
更改Laravel刀片语法:
// You may place this code anywhere it is executed each request. Some people have used routes.php
Blade::setContentTags('<%', '%>'); // for variables and all things Blade
Blade::setEscapedContentTags('<%%', '%%>'); // for escaped data
//您可以将此代码放置在每个请求执行的任何位置。有些人使用了routes.php
Blade::setContentTags(“”);//对于变量和所有事物
Blade::setEscapedContentTags(“”);//对于转义数据
此外,视图必须是.blade.php,而不是.html。这是所有laravel刀片(视图)文件的标准。此处的文档:通过重新排列脚本标记解决了该问题。Angular脚本标签应该放在开头,然后应该包含自写的javascript文件 如果您在页面上查看源代码,它是否仍然显示{{4+4}},它是否显示8,还是什么都不显示?Laravel blade和angularjs使用相同的语法,因此您必须更改其中一个。如果您在解决问题后选择一个答案,我将不胜感激。如果你需要更多的帮助来理解答案,请告诉我!我在这里帮助:)我尝试了你的技巧,但输出仍然是相同的,即“{4+4}”。您是否愿意提供指向该页面的web链接?如果我能阅读JS控制台并查看代码,我可能会很快调试它。您好@Mikel Bitson我通过重新排序标记解决了问题。我已将angular.JS放在自定义JS文件之后的末尾。我重新排序并将其放在开头。@Adil太好了!很高兴您这么做我已经找到了解决方案。我会留心,但仍然会更改其中一个的语法,它们将继续冲突。
// You may place this code anywhere it is executed each request. Some people have used routes.php
Blade::setContentTags('<%', '%>'); // for variables and all things Blade
Blade::setEscapedContentTags('<%%', '%%>'); // for escaped data