我正在尝试使用 ng-href
将不同的 css 样式动态加载到我的页面中,但页面并未使用激活的样式进行更新。代码如下:
<html ng-app="myapp" ng-controller="myController as myctrl">
<head>
<link rel="stylesheet" ng-href="../assets/css/{{ myctrl.style }}.css">
</head>
</html>
在我的 Controller 中,我执行以下操作:
vm.style = "redStyle";
pub.subscribe('style', function(theStyle) {
vm.style = theStyle;
});
一旦发布发生,subscribe
中的变量就会使用新样式进行更新。但相应的 css 文件未加载,因此页面上的样式已更新。我错过了什么想法吗?
最佳答案
它与您所拥有的非常相似,因此它是您代码中的其他内容。除非你把所有的代码都贴出来,否则很难说。
假设样式表确实存在,并且样式变量正在更新,那么我的猜测是罪魁祸首是
pub.subscribe()
如果这个回调是由 Angular 之外的东西触发的,那么 Angular 将看不到更新的变量。您可以将其带回 Angular 空间,如下所示:
pub.subscribe('style', function (theStyle) {
$scope.$apply(function(){
vm.style= theStyle;
});
});
关于javascript - CSS 文件没有通过 ng-href 动态加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45372663/