2014-10-11 120 views
2

我试图编写一个指令来替换一个嵌入式样式定义的CSS链接。现在为什么我的指令不会插入其范围变量?

Here is a working version.

,我想实现与插补该功能,所以我没有设置样式元素的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; 
     }) 
    } 

    } 
}) 

有人可以解释为什么这是行不通的,如果有一种方法,使角进行插值?

+0

这是一个非常有趣的问题,我会研究很晚,但现在你需要''观察'变量位于外部隔离范围内,并通过属性'ng模型' – 2014-10-11 07:15:50

回答