2012-12-17 13 views
13

पर आधारित वर्ग जोड़ें बस कुछ सही होने पर कक्षा को लागू करने का प्रयास कर रहा है। प्रलेखन यहाँ मेरी नकली वस्तुएंगुलरजेएस: मॉडल

$scope.restaurantListFromSearch = [ 
     {restaurantName: "Zocala", 
     details: { 
      image: "http://placehold.it/124x78", 
      url: "#", 
      cuisineType: ["Sandwiches", "American", "BBQ"], 
      description: "Modern, healthy, awesome BBW", 
      priceRange: "$", 
      userFavorite: 0 
     }}, 
     {restaurantName: "Subway", 
     details: { 
      image: "http://placehold.it/124x78", 
      url: "#", 
      cuisineType: ["Sandwiches", "American", "BBQ"], 
      description: "Modern, healthy, awesome BBW", 
      priceRange: "$", 
      userFavorite: 1 
     }}, 
     {restaurantName: "Hungry Howies", 
     details: { 
      image: "http://placehold.it/124x78", 
      url: "#", 
      cuisineType: ["Sandwiches", "American", "BBQ"], 
      description: "Modern, healthy, awesome BBW", 
      priceRange: "$", 
      userFavorite: 0 
     }}      
    ]; 

है और यहाँ मेरी मार्कअप है http://docs.angularjs.org/api/ng.directive:ngClass

li1 === true अगर

पर favorite के एक वर्ग को जोड़ने के लिए कोशिश कर रहा है पर बहुत संक्षिप्त है।

 <ul> 
      <li ng-repeat="restaurant in restaurantListFromSearch" ng-class="{restaurant.details.userFavorite === 1: favorite}"> 
       <img src="{{restaurant.details.image}}" alt="{{restaurant.restaurantName}}"> 

       <div class="details"> 
        <a href="{{restaurant.details.url}}">{{restaurant.restaurantName}}</a> 
        <span class="cuisine-type">{{restaurant.details.cuisineType}}</span> 
        <p>{{restaurant.details.description}}</p> 
        <span class="price-rating">{{restaurant.details.priceRange}}</span> 
       </div> 

       <div class="clear"></div> 
      </li><!-- end restaurant result -->                 
     </ul> 

जोड़ा गया jsFiddle पठनीयता के लिए, वास्तव में कारण लापता निर्भरता (requireJs, आदि)

http://jsfiddle.net/HtJDy/

किसी को भी मुझे सही दिशा में बात कर सकते हैं करने के लिए काम नहीं करता है? :}

उत्तर

27

एनजी क्लास मूल्यांकन करने के लिए एक कोणीय अभिव्यक्ति की तलाश में है, "मूल्यांकन का परिणाम अंतरिक्ष सीमित नामों, एक सरणी, या कक्षा नामों का नक्शा बुलियन मूल्यों का प्रतिनिधित्व करने वाला स्ट्रिंग हो सकता है।"

काम करने के लिए आपके उदाहरण के लिए, यह आपके विचार के विपरीत थोड़ा विपरीत है, जहां बायां भाग वह वर्ग है जिसे आप जोड़ना चाहते हैं, और बूलियन अभिव्यक्ति के दाहिने तरफ।

<li ng-repeat="restaurant in restaurantListFromSearch" ng-class="{ favorite : restaurant.details.userFavorite == 1, otherClass: otherBooleanExpression }"> 

भी ध्यान रखें कि बूलियन अभिव्यक्ति काफी जावास्क्रिप्ट नहीं है ... यदि आप सख्त में प्लग:

<li ng-repeat="restaurant in restaurantListFromSearch" ng-class="{ favorite : restaurant.details.userFavorite == 1}"> 

वस्तु नक्शा इस तरह आप कई वर्गों के लिए यदि आप ऐसा वांछित अनुमति देता है बराबर '===', आपको एक त्रुटि मिलेगी।

आशा है कि मदद करता है!

+0

भय, मैं बहुत करीब था! यह पूरी तरह से काम करता है। आपका बहुत बहुत धन्यवाद! –

+2

"-" से अलग वर्गों के लिए, वर्ग नामों को 'वर्गनाम' जैसे उद्धरणों में सिंटैक्स त्रुटियों से बचने के लिए रखें – imsheth

संबंधित मुद्दे