这个问题更多的是了解Angular $ compile的工作原理。
让我们在我的<head>
视图部分中动态更改CSS样式表。
这是我在控制器中所做的事情:
$scope.theme = '<link rel="stylesheet" href="somepath.css" >'
$scope.$watch("theme", function(newTheme, oldTheme){
var head = angular.element($('head')[0]);
head.append($compile($scope.theme)($scope));
现在,如果有人改变了
$scope.theme = '<link rel="stylesheet" href="somenewpath.css" >'
然后该页面将反映新的CSS样式。但为什么我在这里需要$compile
?我不能head.append($scope.theme);
我的基本问题是,即使所有样式元素都没有任何角度绑定,页面如何更新其样式?