我尝试编写一个指令来替换带有嵌入式样式定义的CSS链接。
现在,我希望通过插值实现该功能,因此我不必设置样式元素的innerHtml。不幸的是,这似乎是不可能的。我可以将CSS附加到范围,但Angular不会插入代码。
Here is the offending version:
.directive('link', function(CssSvc) {
return {
restrict: 'E',
replace: true,
scope: {},
template: '<style type="text/css">{{css}}</style>',
link: function(scope, elem, attr) {
scope.$watch(function() { return CssSvc.css }, function() {
scope.css = CssSvc.css;
})
}
}
})
有人可以解释为什么这不起作用,如果有办法让Angular执行插值?
答案 0 :(得分:0)
我使用的Angular版本似乎存在问题。
This one, using version 1.3rc2, works just fine.
<script data-require="angular.js@1.3.0-rc2" data-semver="1.3.0-rc2" src="https://code.angularjs.org/1.3.0-rc.2/angular.js"></script>\
感谢reddit用户CureEgg,我现在知道 this was fixed as a bug in 1.3 。