2014-10-11 161 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

回答