2016-10-24 49 views
2

我有一個角JS應用,NG-INIT與條件語句

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

當頁面加載的getTableData將執行,但我想檢查變量$ rootScope.Dealer和開關的功能名稱初始化。

例如:如果$ rootScope.Dealer值目前我wanto執行名爲getDealerData

和函數如果該值未設置需要執行getTableData功能。

我該如何在anglar js模板中創建這個模板。

我只是嘗試了NG-IF,但它不工作...

回答

3

您可以使用像這樣的NG-初始化指令簡單的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

1

試試這個

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>