Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在呈现laravel视图时在.php文件中使用AngularJS_Php_Html_Angularjs_Laravel 5 - Fatal编程技术网

如何在呈现laravel视图时在.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

我对拉威尔和安格拉斯都是新手。我试图呈现一个视图,它是一个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.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