在angularJS中根据自定义属性优先级向list元素添加类?

时间:2015-09-12 21:17:21

标签: javascript css angularjs

我有几个小时的时间,我正在努力解决这个问题。所以,场景是有一个菜单导航,具有特定的类取决于屏幕大小,但我也希望这个类基于特定的优先级被触发。

到目前为止,我已经成功进行了屏幕检测,我可以激活此类并隐藏链接,但不确定如何确定其优先级。

让我展示一些代码,以便您有更好的想法。

这是菜单:

<ul>
<li ng-repeat="items in item track by $index">
    <a href="{{item.url}}">
        <span ng-class="{'active':isActivated}">{{item.name}}</span>
    </a>
</li>

所以当isActivated方法为true时激活活动类。到目前为止工作正常。如果您看到上面的代码,我已经按优先级显示菜单按$ index跟踪。

这是我正在拉菜单项的json文件的示例:

{
"name": "inbox",
"url": "http://google.com",
"icon": "fa fa-envelope",
"priority": 1

},
{
"name": "contact us",
"url": "http://yahoo.com",
"icon": "fa fa-phone",
"priority": 3

},
{
"name": "about us",
"url": "http://aboutus.com",
"icon": "fa fa-user",
"priority": 2

}

您可以看到我优先考虑链接的优先级。我不解决的是如何基于相同的优先级激活isActivated方法。

我真的需要一些建议,如果可能的话,你可以在这种情况下如何处理。

提前致谢

1 个答案:

答案 0 :(得分:0)

item.priority作为参数发送到isActivated方法:

$scope.isActivated = function isActivated(priority) {
// do whatever you do to decide if display or not using the priority
}

<li ng-repeat="item in items track by $index">
    <a href="{{item.url}}">
        <span ng-class="{ 'active': isActivated(item.priority) }">{{item.name}}</span>
    </a>
</li>