对于唯一的可视化编辑器,我正在尝试创建一个编写 CSS 样式的新指令。当单击复选框以使 background-color 属性透明时,我一直试图让指令更新。
这是我的(非工作)指令:
myApp.directive('customstyle', function () {
return {
restrict: 'E',
link: function (scope, element, attrs) {
var bgColor;
scope.$watch(attrs.myTransparent, function (value) {
if (value) {
bgColor = 'transparent';
} else {
bgColor = attrs.myBgcolor;
}
updateStyle();
}, true);
function updateStyle() {
var htmlText = '<style>.' + attrs.myClass + '{';
htmlText += 'background-color: ' + bgColor + ';';
htmlText += "}</style>";
element.replaceWith(htmlText);
}
updateStyle();
}
}
});
和 html 元素:
<customstyle my-class="examplediv" my-transparent="settings.Window.Transparent" my-bgcolor="settings.Window.BackgroundColor"></customstyle>
这是一种情况的jsfiddle:http: //jsfiddle.net/psinke/jYQc6/
任何帮助将不胜感激。