2013-05-13 13 views
6

पर आधारित AngularJS स्विच स्टाइलशीट उपयोगकर्ता द्वारा क्लिक किए गए बटन पर आधारित एंगुलरजेएस पृष्ठ की स्टाइलशीट को कैसे स्विच/टॉगल कर सकता है?उपयोगकर्ता इनपुट

उत्तर

16

आप वास्तव में एचटीएमएल स्तर पर एक नियंत्रक जगह है और link टैग के href संशोधित कर सकते हैं:

Demo

नियंत्रक:

var app = angular.module('plunker', []); 

app.controller('MainCtrl', function($scope) { 
    $scope.name = 'World'; 

}); 

app.controller('headController', function($scope) { 
    $scope.stylePath = 'style.css' 
    $scope.changePath = function() { 
    $scope.stylePath='style2.css'; 

    }; 
}); 

मार्कअप:

<!doctype html> 
<html ng-app="plunker" ng-controller='headController' > 
<head > 
    <meta charset="utf-8"> 
    <title>AngularJS Plunker</title> 
    <script>document.write('<base href="' + document.location + '" />');</script> 
    <link rel="stylesheet" href="{{stylePath}}"> 

    <script src="http://code.angularjs.org/1.1.4/angular.js"></script> 
    <script src="app.js"></script> 
</head> 
<body ng-controller="MainCtrl"> 
    Hello {{name}}! 
    <button ng-click="changePath()">Change</button> 
</body> 
</html> 
+0

अद्भुत , मैं नहीं था ऐसा नहीं लगता कि यह काम करेगा लेकिन किसी कारण से नई स्टाइलशीट को वेब पेज को रीफ्रेश किए बिना स्मृति में लोड किया जाता है। बहुत अच्छा! – nuander

+0

@ न्यूडर मैं बस खुश हूं कि 5 साल बाद भी यह काम करता है! – lucuma

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