6

ユーザーによるボタンのクリックに基づいて AngularJS ページのスタイルシートを切り替えるにはどうすればよいですか?

4

1 に答える 1

17

実際にコントローラーを html レベルに配置して、linkタグの hrefを変更できます。

デモ

コントローラ:

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>
于 2013-05-13T03:20:59.213 に答える