【问题标题】:How to use AngularJS in .php file while rendering a laravel view渲染laravel视图时如何在.php文件中使用AngularJS
【发布时间】:2015-10-29 17:40:27
【问题描述】:

我是 laravel 和 AngularJS 的新手。我正在尝试渲染一个 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>

路线是这样的

Route::get('/', function () {
 return view('Home');
  });

我错过了什么吗?我尝试将 php 文件重命名为 .html 但它不起作用。为什么视图不能渲染 .html 文件???。

我得到的输出是 {{4+4}} 而不是 8。

【问题讨论】:

  • 如果你在页面上查看源码,是还是说{{ 4+4 }},还是说8,还是什么都不说? Laravel Blade 和 angularjs 使用相同的语法,所以你必须更改两者之一。
  • 如果您在解决问题后选择了答案,我将不胜感激。如果您需要更多帮助来理解答案,请告诉我!我是来帮忙的:)

标签: php html angularjs laravel-5


【解决方案1】:

Laravel Blade 和 AngularJS 使用相同的语法来处理变量,{}。为避免这种情况,您必须更改刀片的语法或更改 AngularJS 的语法。 Details here.

更改 AngularJS 语法

  var sampleApp = angular.module('sampleApp', [], function($interpolateProvider) {
    $interpolateProvider.startSymbol('<%');
    $interpolateProvider.endSymbol('%>');
});

- 或 -

更改 Laravel Blade 语法:

// 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

另外,视图需要是 .blade.php,而不是 .html。这是所有 laravel 刀片(视图)文件的标准。此处的文档:http://laravel.com/docs/master/blade

【讨论】:

  • 我尝试了你的技巧,但输出仍然是“{{4+4}}”。
  • 您愿意提供该页面的网络链接吗?如果我可以阅读 JS 控制台并查看代码,我可能会很快调试它。
  • 嗨@Mikel Bitson 我通过重新排序
  • @Adil 太好了!很高兴您找到了解决方案。我会注意并仍然更改其中一个或另一个的语法,它们会在未来发生冲突。
【解决方案2】:

问题已通过重新排序脚本标签得到解决。 Angular script 标签应该放在开头,然后应该包含自写的 javascript 文件。

【讨论】:

    猜你喜欢
    • 2016-04-14
    • 2023-02-18
    • 1970-01-01
    • 2014-03-16
    • 2023-03-05
    • 1970-01-01
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多