के साथ टैब स्विच करता हूं, जब मैं अक्सर एमडी-टैब स्विच कर रहा हूं, तो एमडी-टैब सही ढंग से स्विच हो रहे हैं लेकिन एकाधिक एमडी- टैब-आइटम तत्वों में एक ही समय में 'एमडी-एक्टिव' क्लास होती है, इसलिए मैं टैब की सामग्री को सक्रिय नहीं देख सकता क्योंकि यह सक्रिय टैब की सामग्री से ओवरलैप है।एकाधिक 'एमडी-टैब' में एक ही समय में 'एमडी-एक्टिव' क्लास है जब मैं अक्सर कोणीय एमडी-चयनित इंडेक्स
मेरे अनुसार, कोणीय-सामग्री में, जब हम एक टैब का चयन करते हैं, तो कोणीय पहले पिछले टैब को अचयनित करता है (पृष्ठ पर पहले प्रदर्शित सामग्री को छुपाएं) और चयनित टैब सामग्री प्रदर्शित करता है। इस प्रक्रिया को करने के दौरान, कोणीय पहले सक्रिय टैब के 'एमडी-सक्रिय' वर्ग को हटाने से चूक जाता है।
व्यवहार को पुन: उत्पन्न करने के लिए यहां पहेली है। यह यादृच्छिक व्यवहार है और समवर्ती क्लिक के दौरान आता है।
कृपया 'स्विच टैब' बटन पर क्लिक करने के बाद 1 मिनट के लिए प्रतीक्षा jsFiddle
angular.module('firstApplication', ['ngMaterial']).controller('tabController', tabController);
function tabController ($scope) {
$scope.boards = Array.from(Array(100).keys());
$scope.data = {
selectedIndex: 0,
secondLocked: true,
secondLabel: "2",
bottom: false
};
$scope.next = function() {
$scope.data.selectedIndex = Math.min($scope.data.selectedIndex + 1, 2) ;
};
$scope.previous = function() {
$scope.data.selectedIndex = Math.max($scope.data.selectedIndex - 1, 0);
};
$scope.switch = function() {
$scope.activeTabsCounter = $("md-tab-item.md-active").length;
}
/********* Here i am changing tabs ****8**/
/******** This is strict behaviour where I get the problem but randomly *****/
$scope.switchTabs = function(){
clearInterval(interval);
var i = $scope.boards.length - 1;
var interval = setInterval(function() {
\t if($scope.activeTabsCounter == 1) {
\t if(i >= 0) \t \t \t \t \t
$(".md-accent md-tab-item")[i--].click();
$scope.switchTabs();
} else {
clearInterval(interval);
}
\t \t
}, 100);
/********* /Here i am changing tabs ****8**/
}
}
<link href="https://rawgit.com/angular/bower-material/master/angular-material.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.6/angular.js"></script>
<script src="https://rawgit.com/angular/bower-material/master/angular-material.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.6/angular-animate.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.6/angular-aria.js"></script>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<div ng-app="firstApplication">
<div id="tabContainer" ng-controller="tabController as ctrl" ng-cloak>
<div> <br><br>
<button ng-click="switchTabs()">Click here to switch tabs</button>
<br><br>
Current active Tabs: {{activeTabsCounter}}
<br>
</div>
<md-content class="md-padding">
<md-tabs class="md-accent" md-selected="data.selectedIndex" md-align-tabs="{{data.bottom ? 'bottom' : 'top'}}">
<md-tab md-on-select="switch()" id="tab{{board}}" ng-repeat="board in boards">
<canvas id="canvas-{{board}}-1" width="1600" height="900"></canvas>
<canvas id="canvas-{{board}}-2" width="1600" height="900"></canvas>
<md-tab-label>{{board}}</md-tab-label>
<md-tab-body>Item #{{board}} <br/>selectedIndex = {{board}};</md-tab-body>
</md-tab>
</md-tabs>
</md-content>
</div>
</div>
मैं 100 एमएस में लेकिन हमारे आवेदन में टैब स्विच कर रहा है, हम में इस समस्या को हो रही है लंबे समय अंतराल भी। हम सॉकेट का उपयोग कर बोर्ड स्विच इवेंट उत्सर्जित कर रहे हैं।
उत्तर के लिए धन्यवाद लेकिन समस्या हल नहीं है।जैसा कि आपने कहा था कि मैं हर सेकेंड में टैब स्विच नहीं कर रहा हूं, वास्तव में, यह यादृच्छिक है और मेरे कोड में एक ही समय में दो क्लिक हो सकते हैं क्योंकि मैं किसी अन्य उपयोगकर्ता द्वारा भेजे गए सॉकेट ईवेंट पर टैब बदल रहा हूं। यहां मैंने समस्या को पुन: उत्पन्न करने के लिए केवल टाइमआउट का उपयोग किया था। यह समाधान भी काम नहीं करेगा। मैं आपको स्क्रीनशॉट भेज सकता हूं। –
मैंने सक्रिय टैब्स काउंटर मुद्रित किया जो कि नहीं है। 'एमडी-सक्रिय' वर्ग के साथ एमडी-टैब-सामग्री तत्वों का। मुख्य समस्या कौन सा है क्योंकि गिनती केवल 1 होनी चाहिए और यह स्थिति में 1 से अधिक हो जाती है जब कोणीय सामग्री स्विचिंग के दौरान कुछ टैब से एमडी-सक्रिय कक्षा को हटाने में सक्षम नहीं होती है। –
ठीक है, मैं समझता हूं, तो समस्या यह है कि आप चयनित इंडेक्स का प्रबंधन नहीं कर सकते? किसी अन्य उपयोगकर्ता द्वारा भेजी गई सॉकेट घटना में जानकारी है कि आपको किस टैब को बदलना है? –