如何在Laravel Blade中实现AngularJS应用程序

时间:2015-05-14 16:27:00

标签: angularjs laravel blade

我需要在我的Laravel Blade View中实现这个:https://github.com/pshevtsov/flashcards。我尝试安装angular并链接刀片文件中的所有文件。但它不起作用,因为laravel和angular在文件中使用{{ }}

6 个答案:

答案 0 :(得分:5)

在Laravel 5中,您可以通过执行

告诉Blade忽略大括号
@{{ $name }}

答案 1 :(得分:4)

您可以设置自定义AngularJS花括号以防止与Blade模板引擎发生冲突:

var app = angular.module('app', []) 

  .config(function($interpolateProvider) {
    // To prevent the conflict of `{{` and `}}` symbols
    // between Blade template engine and AngularJS templating we need
    // to use different symbols for AngularJS.

    $interpolateProvider.startSymbol('<%=');
    $interpolateProvider.endSymbol('%>');
  });

我建议使用<%= %>,因为它是常用的构造,您可以在Underscore templates中找到它。

之后,Angular代码将如下所示:

<li ng-repeat="phone in phones">
    <p><%= phone.name %></p>
</li>

答案 2 :(得分:1)

截至2016年1月,只需要这样做:

  • 从Angular主页下载app.js

  • 查找

function $InterpolateProvider() { var startSymbol = '{{'; var endSymbol = '}}';

并将它们变成任何东西,我猜一个非正式的做法是&lt; %%&gt; function $InterpolateProvider() { var startSymbol = '<%'; var endSymbol = '%>';

应该归功于 https://scotch.io/quick-tips/quick-tip-using-laravel-blade-with-angularjs

答案 3 :(得分:1)

在刀片模板中,我的代码如下:

<div ng-repeat="item in items" class="item" ng-cloak><?='{{item.name}}'?></div>

答案 4 :(得分:0)

https://www.trioangle.com/blog/how-to-use-angularjs-in-laravel-blade/复制并粘贴

方法一:改变AngularJS标签

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

现在 Laravel 将使用 {{ variableName }} 而 Angular 将使用 <% variableName %>。就像这样,你可以使用 Laravel Blade 和 Angular。您也可以将其更改为您想要的任何内容。

方法 2:更改 Laravel 标签

Blade::setContentTags(‘<%’, ‘%>’); // for variables and all things Blade
Blade::setEscapedContentTags(‘<%%’, ‘%%>’); // for escaped data

变量将是:<% $variable %>。注释将是:<%– $variable –%>。转义数据看起来像:<%% $variable %%>。您也可以将其更改为您想要的任何内容。

方法 3:不改变任何标签

@{{ variableName }}

现在 Laravel 将使用 {{ variableName }} 而 Angular 将使用 @{{ variableName }}。

Laravel Blade 中 AngularJS 的使用方法我已经给大家讲解过了,推荐大家使用方法三

答案 5 :(得分:0)

Laravel 5.3 版本引入了一个新命令来标记块“原样”,无需解析:

@verbatim
        Hello, {{ name }}.
@endverbatim