2013-05-13 3 views

ответ

16

Вы действительно можете разместить контроллер на уровне HTML и изменить HREF в link тега:

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'; 

    }; 
}); 

Markup:

<!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

@ nuander Я просто рад, что 5 лет спустя он все еще работает! – lucuma

Смежные вопросы