Angular JS中的动态菜单

时间:2016-09-21 12:34:39

标签: angularjs

我正在使用dynamic menu创建AngularJS。使用下面的代码,一切正常工作;现在我保持ParentID0。如果我将ParentID更改为NULL,则代码下方的代码无法正常生成菜单。

var myApp = angular.module("MyApp", []);

myApp.controller("MyAppCtrl", function ($scope, $http) {
console.log("From controller");

$scope.SiteMenu = [];
$http.get('/Home/GetDynamicMenu').then(function (response) {
    $scope.SiteMenu = response.data;
    console.log($scope.SiteMenu);
}, function (error) {
    alert('Error');
})

});

<body ng-app="MyApp">
<div ng-controller="MyAppCtrl">
    {{45+50}}
    <br />
    <script type="text/ng-template" id="treeMenu">
        <a href="{{menu.MenuUrl}}">{{menu.MenuName}}</a>
        @* We will create submenu only when available *@
        @*<ul ng-if="(SiteMenu | filter:{ParentID : menu.ID}).length > 0">*@
        <ul ng-if="(SiteMenu | filter:{ParentID : menu.ID}).length > 0">
            @*<li ng-repeat="menu in SiteMenu | filter:{ParentID : menu.ID}" ng-include="'treeMenu'"></li>*@
            <li ng-repeat="menu in SiteMenu | filter:{ParentID : menu.ID} : true" ng-include="'treeMenu'"></li>
        </ul>
    </script>
    <ul class="main-navigation">
        @* Here we will load only top level menu *@
        @*<li ng-repeat="menu in SiteMenu | filter:{ParentID : 0}" ng-include="'treeMenu'"></li>*@
        <li ng-repeat="menu in SiteMenu | filter:{ParentID : NULL} : true" ng-include="'treeMenu'"></li>
    </ul>
</div>

我认为HTML行中的Angular过滤器中的问题。任何人都可以将此过滤器更改为NULL。

<ul ng-if="(SiteMenu | filter:{ParentID : menu.ID}).length > 0">

0 个答案:

没有答案