2015-01-25 8 views
8

के अंदर तरल टैग मान लीजिए मेरे पास दो लिंक हैं: "सभी पोस्ट" और "व्यक्तिगत"। जब उपयोगकर्ता "व्यक्तिगत" लिंक पर क्लिक करता है, तो उसे केवल उन पदों को देखना चाहिए जिनमें "व्यक्तिगत" श्रेणी है। अभी, तरल टैग {% for post in site.posts %} है। मैं जानना चाहता हूं कि जावास्क्रिप्ट से परिवर्तनीय site.posts तक पहुंचने का कोई तरीका है, ताकि मैं क्लिक ईवेंट सुन सकूं और गतिशील रूप से पोस्ट को फ़िल्टर कर सकूं। यदि नहीं, तो मुझे क्या करना चाहिए?जैकिल: जावास्क्रिप्ट

उत्तर

14

आप जेकिल को किसी भी खाली फ्रंट मामले को जोड़कर किसी भी फाइल को पार्स कर सकते हैं।

उदाहरण: आस्तियों/जे एस/script.js

संपादित 16/07/28: आप उपयोग कर सकते jsonifyfilter किसी भी हैश या सरणी के लिए

--- 
--- 
{{ site.posts | jsonify }} 

पुराना जवाब

--- 
--- 
{% capture posts %} 
[ 
{% for post in site.posts %} 
{ 
"title" : "{{ post.title }}", 
"url"  : "{{ post.url }}", 
"date"  : "{{ post.date | date: "%B %d, %Y" }}", 
"content" : "{{ post.content | escape }}" 
} {% if forloop.last %}{% else %},{% endif %} 
{% endfor %} 
] 
{% endcapture %} 
var posts = {{posts | strip_newlines}} 

यह site.posts ऑब्जेक्ट संग्रह को json फ़ॉर्म में रखेगा और उन्हें आपको जावास्क्रिप्ट posts var में विशेषता देगा।

+0

यह मुझे त्रुटि देता है "Uncaught SyntaxError: अप्रत्याशित टोकन {" जैसे ही मैं तरल टैग –

+0

सत्य शामिल करता हूं। मैंने अपना जवाब संपादित कर लिया है। –

+0

मेरी जेएस फ़ाइल के शीर्ष पर खाली फ्रंट पदार्थ जोड़ना 'तरल अपवाद: सिंटेक्स त्रुटि: अप्रत्याशित टोकन' चेतावनी ट्रिगर करने का कारण बनता है। – user3411192

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