of-init with 条件语句

ng-init with condition statements

我有一个 Angular JS 应用程序,

<div class="col-lg-12" ng-init="getTableData('{{URL::route('get_repair_category')}}')">

当Page loading时会执行getTableData,但我想检查一个变量$rootScope.Dealer并切换初始化的函数名

例如:如果存在 $rootScope.Dealer 值 我想执行名为 getDealerData

的函数

如果没有设置值需要执行getTableData函数

如何在 anglar js 模板中制作这个。

我刚刚尝试了 ng-if,但它不起作用...

您可以在 ng-init 指令中使用简单的 Javascript 语法,如下所示:

<div class="col-lg-12" ng-init="Dealer ? getDealerData('{{URL::route('get_repair_category')}}') : getTableData('{{URL::route('get_repair_category')}}')">

这是给你的 plnkr(我已将后端路由生成更改为文本): https://plnkr.co/edit/CJOMT0g50BCWa3j02rcS?p=preview

试试这个

var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope, $rootScope) {

  $rootScope.dealer = ["a", "b", "c"];

  $scope.getTableData = function(x) {
    return x;
  }
  $scope.getDelearData = function() {
    return $rootScope.dealer;
  }
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
  <div ng-init="data = getDelearData() || getTableData('table data')">
    {{data}}
  </div>
</div>