2015-04-01 84 views
1

我有一個手機導航指令,在點擊時切換<ul>Angular.js針對dom操作的ng級別

指令工作正常;然而,當我使用一個類,但我不再能夠切換到ng級時使用jquery來定位該類。

這是我的模板。

<ul ng-repeat="list in englishList"> 

<a ng-class="{{list.title}}Hide" mobile-search-slide href="/about"><li><p>{{list.title}}</p><i class="fa fa-chevron-right"></i></li></a> 

<ul id="hideMe" ng-class="hideAbout">   
<div ng-cloak ng-repeat="(key, value) in searchData | aboutFilter:'abo'"> 

<div ng-repeat="result in value" ng-class-odd="'odd'" ng-class-even="'even'"> 
    <a ng-href="{{value.title}}/{{result.shortname}}"> 
    <li><p>{{result.title}}</p><i class="fa fa-chevron-right"></i></li> 

    </a> 
    </div> 
</div> 
</li> 
</ul> 

</ul> 

這條線是有課,我想定位的:

<ul id="hideMe" ng-class="hideAbout"> 

這裏是移動搜索滑動指令:

app.directive('mobileSearchSlide', function(){ 
return{ 
    restrict: "A", 
    link: function(scope, element, attrs) { 
     element.click(function(){ 

     $('.hideAbout').slideToggle(); 

     console.log(element); 
     }); 

    } 
} 
}); 

我打算使用ng級爲<ul id="hideMe" ng-class="hide{{list.title}}">

回答

1

由於hideAbout是類的名字,你可以只使用class="hideAbout"

在納克級的術語:

​​

這需要類名和表達式。

所以你的語法不正確,所以ng-class沒有添加類名。

否則只是使用ng-class="'hideAbout'"這裏hideAbout在引號內,所以它會被視爲字符串。

更新時間:

<ul id="hideMe" ng-class="hide{{list.title}}">應該象下面這樣:

<ul id="hideMe" ng-class="'hide ' +list.title"> 

<ul id="hideMe" class="hide {{list.title}}"> 

DEMO

ul.hide.s4 { 
 
    width: 400px; 
 
    height: 100px; 
 
    background: red; 
 
}
<!DOCTYPE html> 
 
<html ng-app> 
 
<head> 
 
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.2/angular.min.js"></script> 
 
    <meta charset="utf-8"> 
 
    <title>JS Bin</title> 
 
</head> 
 
<body> 
 
<ul id="hideMe" ng-class="'hide ' +'s'+4"> 
 
</ul> 
 
</body> 
 
</html>

+0

我已經加入到我的問題。我打算在類名 – byrdr 2015-04-01 17:00:39

+0

@byrdr中使用插值我也更新了示例演示 – mohamedrias 2015-04-01 17:14:37

1

ng-class需要一個表達式作爲參數值。只要使用'hideAbout'像你ng-class-odd在這一行做了:

<div ng-repeat="result in value" ng-class-odd="'odd'" ng-class-even="'even'">