gpt4 book ai didi

javascript - Angular js + ng-repeat + 字母数字索引不起作用

转载 作者:行者123 更新时间:2023-12-03 06:56:32 25 4
gpt4 key购买 nike

我在 Angular JS 中创建了一个导航 Controller ,如下所述。

weatherApp.controller('navCtrl', ["$scope", "$localStorage", function($scope, $localStorage){

if($localStorage.user_email){
var navItems = new Array();
navItems["/"] = 'Home';
navItems["/logout"] = 'Logout';
$scope.navItems = navItems;
}
else{
var navItems = new Array();
navItems["/"] = 'Home';
navItems["/login"] = 'Login';
$scope.navItems = navItems;
}
$scope.test = "test";
}]);

我在index.html 中调用此 Controller ,如下所示。

<ul class="nav navbar-nav" ng-controller="navCtrl">
<li ng-repeat="(url, navItem) in navItems">
<a href="#{{ url }}">{{ navItem }}</a>
</li>
</ul>

如果我保留 navItems 索引字母数字,那么它不会加载值,但如果我保留其索引数字,它会显示菜单项。

有什么方法可以在 ng-repeat 中使用字母数字索引吗?

最佳答案

我认为你需要一个不同的数据结构。像这样的事情:

https://jsfiddle.net/relferreira/3aexpfk5/

JS:

angular.module('app', []);

angular.module('app')
.controller('MainController', mainController);

mainController.$inject = ['$scope'];

function mainController($scope){

var vm = this;

vm.navItems= [
{ path: '/', name: 'Home'},
{ path: '/login', name: 'Login'},
];

}

HTML:

<div data-ng-app="app">

<div data-ng-controller="MainController as mainVm">

<ul class="nav navbar-nav">
<li ng-repeat="navItem in mainVm.navItems">
<a href="#{{ navItem.path }}">{{ navItem.name }}</a>
</li>
</ul>
</div>

</div>

关于javascript - Angular js + ng-repeat + 字母数字索引不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37254335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com