2015-01-24 12 views
5

के साथ पृष्ठभूमि रंग बदलें मैं पृष्ठभूमि रंग के साथ पृष्ठभूमि रंग कैसे बदल सकता हूं?एनजी-स्टाइल

यह div दोहराएगा ताकि रंग में से एक डीबी से हो। plnkr के लिए मैं सिर्फ रंग तय, लेकिन मेरे उदाहरण में इस तरह है:

<div class="col-md-offset-0 col-md-2" ng-repeat="type in types" style="margin-bottom:5px;"> 
     <div class='container' divCheckbox ng-style="{'background-color':(isSelected?'{{type.color}}':'#ccc')}> 
      <input type='hidden' ng-model="type.show" /> 
      <div class="label">{{type.name}}</div> 
     </div> 
</div> 

और निर्देश:

.directive('divCheckbox', function() { 
      return { 
       restrict: 'A', 
       link: function (scope, el, attr) { 
        scope.isSelected = el.find('input').val() == 'false'; 
        el.on('click', function() { 
         scope.isSelected = !scope.isSelected; 
         scope.$apply(); 
        }); 
       } 
      } 
     }); 

यहाँ मेरा plnkr: http://plnkr.co/edit/onLA8vSbtwQu1OxZrKzT?p=preview

उत्तर

3

आप त्रिगुट ऐसा नहीं कर सकते एक टैग के भीतर स्थितियां और आपको एक त्रुटि है क्योंकि आपने background-color उद्धरण नहीं दिया है। आपको या तो इसे उद्धृत करना होगा, या कैमेलकेस का उपयोग करना होगा, जबकि कंट्रोलर में स्थितियों को सेट किया जाना चाहिए।

तो, ठीक एक गुंजाइश चर एक रंग को संकेतित (या पूर्ण शैली वस्तु) है और इस तरह इसका इस्तेमाल करने के लिए है: http://plnkr.co/edit/iYkSa2I1ysZutdkAKkuh?p=preview


अद्यतन

यहाँ एक उदाहरण आप के लिए इस्तेमाल कर सकते हैं है अपने कोड को अपने डीबी के साथ काम करें (मैं यहां बाहरी JSON को कॉल कर रहा हूं, लेकिन सिद्धांत समान है): http://plnkr.co/edit/Kegs95NNyGGySMDzhQed?p=preview

इस तरह आप 'चयनित' रंग भी ला सकते हैं। यह आपके द्वारा प्रदान की गई जानकारी के साथ आपको बता सकता है।

+0

Tks Shomz, सिर्फ एक सवाल, कैसे डीबी के आंकड़ों के निर्देश में उपयोग कर सकते हैं (पंक्ति पल में सुन रहा है), क्योंकि रंग डीबी से है "{{type.color}}" – Luis

+0

आपका स्वागत है। हम्म, आदर्श रूप से आप नियंत्रक में एक सेवा इंजेक्ट कर सकते हैं, और उस तरह के डेटा को प्राप्त कर सकते हैं (केवल एक उचित चर के लिए रंग मान असाइन कर रहे हैं जिसे आप दृश्य में उपयोग कर रहे हैं)। डीबी से डेटा लाने के लिए सेवा प्रभारी होगी। – Shomz

+0

शोमज़, बस इसे ng-style = "{'background-color' में बदलें :(चुना गया है? '{{Type.color}}': '# ccc')} जैसा कि आपने कहा था, लेकिन किसी कारण से काम नहीं कर रहा है कंसोल में मुझे कोई त्रुटि नहीं दें – Luis

-1

youse:

return {backgroundImage:'someimg'}; 
0

दोनों अलग शैली है। का प्रयोग करें