我正在使用dynamic menu
创建AngularJS
。使用下面的代码,一切正常工作;现在我保持ParentID
为0
。如果我将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">