首页 新闻 搜索 专区 学院

怎样用angular实现这个功能

0
悬赏园豆:20 [已解决问题] 解决于 2015-05-24 00:18

四个li,点击第一个li颜色改变,点击第二个li时第一个li还原,第二个li颜色改变,其余li不变...这个怎么做最好

热心群众的主页 热心群众 | 初学一级 | 园豆:184
提问于:2015-05-23 17:38
< >
分享
最佳答案
0

一个很简单的做法,如果li是ng-repeat实现的,那么直接记录selectId就可以了。

类似这样:

<ul>
    <li ng-class="{'active': selectedIndex === $index}" ng-repeat="li in ul" ng-click="select($index);">AAA</li>
</ul>

$scope.select = function(index){
    $scope.selectedIndex = index;
}
收获园豆:20
幻天芒 | 高人七级 |园豆:36910 | 2015-05-23 21:49

非常感谢,以解决

热心群众 | 园豆:184 (初学一级) | 2015-05-24 00:17

如果li里面有其他标签,比如:

  <li><i class='a1'><span class='b1'>test1</span></i></li>

  <li><i class='a2'><span class='b2'>test2</span></i></li>

  <li><i class='a3'><span class='b3'>test3</span></i></li>

这样,如果把<i><span>test1</span></i>写进$scope.ul里面遍历出来的是字符串浏览器无法解析啊会直接显示出标签,这样需要怎么做?  我是刚开始学angular的小白,说的可能有点乱,不知道你能不能晓得我在说什么

热心群众 | 园豆:184 (初学一级) | 2015-05-24 01:42

@热心群众: 有一个指令叫ng-bind-html,<li ng-bind-html="" /> 使用这种方式就可以了。注意一个服务$sce

幻天芒 | 园豆:36910 (高人七级) | 2015-05-24 12:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册