los*_*ket 2 angularjs angularjs-directive
我将在ng-repeat项目中有一个contextmenu指令.根据条件是否为真,应该应用该指令.如何仅在item.hasMenu == true时设置条件然后应用指令?
<ul ng-controller="ListViewCtrl" >
<li contextmenu ng-repeat="item in items">{{item.name}} </li>
</ul>
Run Code Online (Sandbox Code Playgroud)
编辑
这似乎对我有用.首先是指令.
app.directive('menu',function(){
return {
restrict : 'A',
link : function(scope,element,attrs){
if(scope.hasMenu){
element.contextmenu({
menu:[
{title:"Remove" , "cmd" : "remove"},
{title:"Add" , "cmd" : "add"},
],
select:function(event,ui){
//alert("select " + ui.cmd + " on" + ui.target.text());
if (ui.cmd ==='remove'){
alert('Remove selected on ' + scope.item);
}
if (ui.cmd ==='add'){
alert("Add selected");
}
}
});
}
}
}
}
);
Run Code Online (Sandbox Code Playgroud)
然后是html
<ul ng-controller="ListViewCtrl" >
<li menu ng-repeat="item in items">{{item.name}} </li>
</ul>
Run Code Online (Sandbox Code Playgroud)
你可以用这样的东西ng-if吗?
<ul ng-controller="ListViewCtrl" >
<li ng-repeat="item in items">
<span>{{item.name}}</span>
<div contextmenu ng-if="item.hasMenu"></div>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
编辑:如果你正在上课的上下文菜单,你应该能够这样做:
<ul ng-controller="ListViewCtrl" >
<li ng-class="{'hasmenu': item.hasMenu}" ng-repeat="item in items">{{item.name}} </li>
</ul>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15715 次 |
| 最近记录: |