当前位置: 首页 > 面试题库 >

卡住创建自定义CSS样式指令

傅高逸
2023-03-14
问题内容

对于唯一的可视化编辑器,我试图创建一个写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/

任何帮助将不胜感激。


问题答案:

尝试直接在要更改的元素上使用指令,这样做更容易维护。

HTML:

<div class="examplediv customstyle" 
     my-transparent="settings.Window.Transparent" 
     my-bgcolor="{{settings.Window.BackgroundColor}}">
</div>

注意:{{settings.Window.BackgroundColor}}用于传递属性的值而不是字符串

指示:

myApp.directive('customstyle', function () {
    return {
        restrict: 'AC',
        link: function (scope, element, attrs) {          
           scope.$watch(attrs.myTransparent, function (value) {     
             element.css('background-color', (value ? 'transparent' : attrs.myBgcolor));            
           });                      
        }
    }
});

注意:用于element.css()直接在元素上更改CSS属性。

jsFiddler :http :
//jsfiddle.net/jYQc6/8/



 类似资料:
  • 默认情况下,Navicat Monitor 从受监控的实例收集一组预设的服务器指标。你可能想要添加自己的查询,以收集特定实例的一些自定义性能指标,并在指标值超过某些阈值和持续时间时接收有关自定义数据的警报。若要配置自定义指标,请前往“配置”->“自定义指标”。 创建自定义指标和警报 在自定义指标页面中,点击“+ 新建自定义指标”。 【步骤一】输入自定义指标的定义: 指标名 输入自定义指标的名。 描

  • 我有一个datadog计数度量,我想创建一个新的度量,从中显示度量上两个代理点之间的差异,因此我可以看到点之间的变化。 有没有办法使用datadog仪表板从另一个指标创建一个指标。

  • 以前我的MySQL pod停留在终止状态,然后我尝试使用如下命令强制删除 后来我再次尝试helm升级,我的吊舱被卡在containercreating状态,这个事件来自吊舱 任何人请帮助我解决这个问题,非常感谢。

  • 我希望用户能够编辑管理后端面板上自己的电子邮件内容,用户可以使用一些指令,如: 因此,例如,用户可以在 : 我如何在Laravel中创建一些自定义指令,任何我可以用来简化开发的库?当然,用户不允许使用PHP代码。 我知道有Laravel刀片,但我不确定这是安全的,用于公众用户编辑内容和只允许客户指令。

  • 我正在尝试使用Vue.js而不需要构建步骤。但是Vue没有样式属性。 所以我想在我的Vue组件实例上创建一个自定义的“style”属性,然后在创建或装载组件时将该属性的内容注入DOM。 问题是我不能理解。(我看了一下插件文档)。我需要创建某种插件,首先检查“style”属性是否存在,然后将其插入DOM。我也不想使用Vue。component()函数,因为我想使用ES6导入和导出。下面是结果的样子:

  • 我正在尝试使用ecs-cli命令行在AWS上获得一个工作的Docker环境。 我有一个使用Dockerfiles、docker-compose.yml、一个.env文件和一个entrypoint.sh脚本的工作本地Docker环境。容器是一个运行PHP和一系列扩展的apache webserver以及一个MySQL DB。 骨架文件结构是这样的: ./docker/webserver/entryp