在Laravel中使用Angular的ng-show

时间:2017-02-26 15:20:58

标签: javascript php angularjs laravel

我已经知道我可以在html类中使用 Laravel变量并在angular文件中定义它。这是我说的关于它的代码:

master.blade.php:

<div ng-controller="AppCtrl">
  <div class =" {{ statusClass }} ">
   .
   .
   .
  </div>
</div>

main.js:

angular.module('app')
    .controller('AppCtrl',[...,function(...){
                 .
                 .
                 .

                    timeout(function () {
                    $scope.statusClass = "active";
                    $scope.visibility = false;

                }, 0);

}])

现在我只想使用show / hide特定div。

  <div class =" @{{ statusClass }} " ng-show =" @{{ visibility }}">

但是我们知道我们不能在ng-show中使用这种类型的变量。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

你正在将角度与刀片混合在一起。

@{{visibility}}将呈现给{{visibility}},其中angular需要表达式,而不是角度渲染标记。

正确的方法是:

<div class =" @{{ statusClass }} " ng-show ="visibility">

作为旁注,对ng-if而不是ng-showng-hide总是更好,正如here

所解释的那样

另外我要提一下,直接从角度评估一个类名是不好的做法,为此更好地使用ng-class