AngularJS ng-点击li图标

时间:2014-03-22 09:41:06

标签: html css angularjs angularjs-ng-click

我有这段代码

<div  ng-repeat="names in mitypes  = (mitype | filter:{parentid:0}:true)"> 

    <li ng-click="newObject[names.id]=!newObject[names.id]">
      <label ng-click="selectedlist[names.id]=!selectedlist[names.id]">{{names.id}}  </label>
    </li>

    </div>
   </div>

它的ul li元素树。所以我希望有2个点击事件: 1.单击单击以打开/关闭树分支 2.单击标签ng-click以选择树节点

li元素有css样式:

li {
  list-style-type: none; 
  background-repeat: no-repeat;
  background-position: left center;
}
li.closed
{
  background-image: url(1.png);
}
li.opend
{
  background-image: url(2.png);
}

我想点击png图像进行打开/关闭,并为select节点标记。 现在,当你点击“li”的任何部分时,两个变量都会改变它们的含义。

如何分割这些事件? 提前谢谢......

1 个答案:

答案 0 :(得分:2)

这是浏览器中的标准事件传播行为。

$event.stopPropagation上尝试<label>

<label ng-click="selectedlist[names.id]=!selectedlist[names.id]; $event.stopPropagation()">{{names.id}}  </label>

如果您想在点击数字左侧时想要打开,请向<li>添加padding-left:

li {
 list-style-type: none; 
 background-repeat: no-repeat;
 background-position: left center;
 border: 1px solid white;
 border-radius:5px;
 background-color:lightblue;
 padding-left: 30px; //add padding
}

DEMO