我有一个Angular JS应用程序,
<div class="col-lg-12" ng-init="getTableData('{{URL::route('get_repair_category')}}')">
当页面加载时,getTableData将执行,但我想检查变量 $ rootScope.Dealer 并切换初始化的函数名称。
例如:如果 $ rootScope.Dealer 值存在,我想执行名为 getDealerData
的函数如果未设置该值,则需要执行 getTableData 函数。
如何在anglar js模板中制作它。
我刚试过ng-if,但它不起作用......
答案 0 :(得分:7)
您可以在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
答案 1 :(得分: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;
}
})
&#13;
<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>
&#13;