मुझे कुछ का उपयोग करने की आवश्यकता है,
@{
var Name = string.Empty;
}
<script type="text/x-jsrender" id="menu">
@Name = $("#NameContainer").attr("data-name");
<div class="menu-item">
@if (Name == "A")
{
<div class="option">A</div>
}
else if(Name == "B") {
<div class="option">B</div>
}
लेकिन मुझे मिल रहा है Name
के रूप में मूल्य empty
। Jsrender के अंदर ग्लोबल वैरिएबल को वैल्यू कैसे असाइन करें?
उत्तर:
जवाब के लिए 2 № 1JsRender टेम्प्लेट में चल रहे कोड पर डॉक्स यहां हैं: http://www.jsviews.com/#allowcodetag
जवाब के लिए 0 № 2
आप रेजर टेम्पलेट के वैश्विक चर के बजाय जावास्क्रिप्ट वैश्विक चर का उपयोग कर सकते हैं, jsrender टेम्पलेट में जावास्क्रिप्ट कोड का उपयोग करने के लिए, आपको सेटिंग्स का उपयोग करके कोड टैग की अनुमति देनी होगी।
$.views.settings.allowCode(true);
और अब आप स्क्रिप्ट लिख सकते हैं {{* ... }}
टैग। आपके उदाहरण में:
<script type="text/x-jsrender" id="menu">
{{* window.Name=$("#NameContainer").attr("data-name");}}
<div class="menu-item">
{{* if(Name == "A") { }}
<div class="option">A</div>
{{* } else if(Name == "B"){ }}
<div class="option">B</div>
{{* } }}