2012-06-27 14 views
35

के साथ वैकल्पिक पंक्ति शैली मुझे एक वैकल्पिक पंक्ति पंक्ति सीएसएस क्लास को एक नॉकआउट टेम्पलेट पर फ़ोरैच बाध्यकारी संदर्भ के साथ लागू करने में समस्या हो रही है। मैं उपलब्ध $index संदर्भ चर के साथ knockout 2.1 का उपयोग कर रहा हूँ।

यह क्या भ्रामक है:

मेरे खाका

<li class="row" data-bind="css: { alt: $index%2 }"></li> 

परिणाम नहीं alt कक्षाओं में लागू किया जा रहा है, हालांकि:

<li class="row" data-bind="text: $index"></li> 

काम करता है ठीक से और पंक्ति संख्या प्रदर्शित करता है।

उत्तर

71

मैं कुछ मिनट के लिए इस के साथ संघर्ष किया और पाया कि इस सवाल का वास्तव में के बाद से कवर नहीं किया गया था नई binding context variables (जैसे $index) नॉकआउट 2.1

में शुरू किया गया था गलती मैं कर रहा था कि मैं बस था भूल गए कि $index स्वयं एक अवलोकन योग्य है, और अगर हम डेटा-बाइंड विशेषता में अभिव्यक्ति में इसका उपयोग कर रहे हैं तो इसे अनचाहे किया जाना चाहिए। यानी,

<li class="row" data-bind="css: { alt: $index%2 }"></li> 

<li class="row" data-bind="css: { alt: $index()%2 }"></li> 

ओह :)

+0

मैं यह गलती करता रहता हूं! – RichardTowers

+0

बस पूछने वाला था और फिर आपका जवाब मिला! धन्यवाद :) – Ryan

+0

मैं इस पर पागल होने वाला था। – jes

12

हो जाना चाहिए जावास्क्रिप्ट, उपयोग सीएसएस के साथ वैकल्पिक पंक्ति स्टाइल मत करो जो तरीका अधिक कुशल :) है

https://developer.mozilla.org/en-US/docs/CSS/:nth-child

+4

जबकि मैं आपसे सहमत हूं, यदि आप

+1

इन दोनों उत्तरों में मूल्य है। संदर्भ के आधार पर, एक या दूसरे का उपयोग करने के कई कारण हैं और इन दोनों विकल्पों को यहां देखना अच्छा होता है और यह इस प्रश्न को एक अच्छा संसाधन बनाता है। यह वास्तव में काम करने के लिए ढेर ओवरफ्लो का इरादा था। –

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