के साथ विस्तार और पतन करें मैं कोणीय जेएस का उपयोग करके विस्तार और पतन करने का एक तरीका जानने का प्रयास कर रहा हूं। मैं नियंत्रक में डोम ऑब्जेक्ट्स को मैनिपुलेट किए बिना ऐसा करने का एक शानदार तरीका नहीं ढूंढ पाया (जो कोणीय तरीका नहीं है)। वर्तमान में मेरे पास एक परत विस्तार और पतन के लिए ऐसा करने का एक अच्छा तरीका है। हालांकि जब मैं घोंसले शुरू करता हूं, चीजें जटिल हो जाती हैं और जिस तरीके से मैं इसे चाहता हूं, उस पर काम नहीं करता (जब वे नहीं होने चाहिए तो कई क्षेत्रों का विस्तार और ढहना)। समस्या यह नहीं है कि मुझे सही सामग्री को विस्तार/संक्षिप्त करने के लिए एनजी-क्लिक के साथ एक अद्वितीय पहचानकर्ता को कैसे भेजना है। मुझे जिक्र करना चाहिए कि ये आइटम एनजी-दोहराने में हैं इसलिए मैं आवश्यक रूप से भेजे गए पैरामीटर को कस्टमाइज़ कर सकता हूं।कोणीय जेएस
मैं एक परत विस्तार और काम पर पतन पाने में मेरी सहायता के लिए इस jsfiddle का उपयोग करने में सक्षम था। हालांकि यह करने के लिए यह एक टॉगल तरीका है और मैं चाहता हूं कि उपयोगकर्ता दूसरों का विस्तार करते समय चीजों को विस्तारित रखने में सक्षम हो। तो मैंने इसे ठीक करने के लिए क्या किया था और प्रत्येक बार कुछ क्लिक किए जाने पर उस क्लिक किए गए आइटम की अनुक्रमणिका को सरणी में जोड़ा जाएगा और कक्षा का विस्तार किया जाएगा। जब उपयोगकर्ता ने फिर से क्लिक किया तो सूचकांक सरणी से हटा दिया गया था और क्षेत्र ध्वस्त हो गया था।
एक और तरीका मैंने पाया कि आप इसे कर सकते हैं निर्देशों का उपयोग करके। लेकिन निर्देशों के काम के आसपास मेरे सिर को लपेटने के लिए मुझे वास्तव में कोई परीक्षा नहीं मिल सकती है। मुझे यकीन नहीं है कि निर्देश लिखने की बात कब शुरू होती है।
मेरे वर्तमान सेट अप यह है:
function Dexspander($scope) {
$scope.ExpandArray = [];
//Push or pop necessary elements for tracking
$scope.DespopulatArray = function (identifier, element) {
if (_.indexOf($scope.ExpandArray, identifier + element) != -1) {
$scope.ExpandArray.splice(_.indexOf($scope.ExpandArray, identifier + element), 1);
} else {
$scope.ExpandArray.push(identifier + element);
}
}
//Change class of necessary elements
$scope.Dexspand = function (identifier, element) {
if (_.indexOf($scope.ExpandArray, identifier + element) != -1) {
return "expand";
} else {
return "collapse";
}
}
}
<div class="user-header" ng-repeat="user in users">
<h1 ng-click="DespopulatArray('user', $index)">Expand</h1>
</div>
<div class="user-content" ng:class="Dexspand('user', $index)">
<div class="content">
<div class="user-information">
<div class="info-header">
<h1 ng-click="DespopulatArray('info', $index)>Some Information</h1>
</div>
<div class="info-contents" ng:class="Dexspand('info', $index)">
stuff stuff stuff stuff...
</div>
</div>
</div>
</div>
इस सेटअप के साथ मुद्दा यह है कि अगर मैं माता पिता divs करने के लिए है का विस्तार किया और उन दोनों उनके अधीन कुछ विस्तार करने के लिए है, का विस्तार पाठ में उन्हें विस्तार होगा पर क्लिक है दोनों क्षेत्रों के रूप में वे अद्वितीय नहीं हैं।
आप plunker पर इस का एक उदाहरण डाल सकते हैं? तो मैं निर्देश के साथ आपकी मदद करने में सक्षम हो सकता हूं। इसे आधार के रूप में उपयोग करें: http://plnkr.co/edit/gist:3662656 –