小编ste*_*anz的帖子

如何扩展/覆盖Angular Material $ mdDialog.show中的默认选项?

TL; DR:我需要一种覆盖默认选项的方法,使用提供程序(如任何其他角度模块 - 随机示例)提供我的Angular Material(特别是在Material Dialog上).

我一直在寻找一种方法来自定义默认选项Angular Material Modal,但没有任何可用的结果.

就像我在其他插件/模块上使用的那样,这种方式可以通过使用provider.看看材料的核心(1.0.8)我试图使用这样的setDefaults方法设置选项(假设我只想暂时禁用背景):

app.config(['$mdDialogProvider', function($mdDialogProvider){
    console.log($mdDialogProvider); 
    // ^ $get/addMethod/addPreset/setDefaults

    var defaults = {
        options: function(){
            return {
                hasBackdrop: false
            }
        }
    }
    $mdDialogProvider.setDefaults(defaults);
}]);
Run Code Online (Sandbox Code Playgroud)

现在当我检查onComplete回调选项时:

在此输入图像描述

因此,您可以看到该hasBackdrop选项已更新,但模式不再起作用,所以我想我错过了一些东西.

你知道如何以适当的方式扩展角度默认值吗?

谢谢

更新:没有.setDefaults活动的选项对象(de initial state)

在此输入图像描述

注意:我已从他们的核心复制transformTemplate并添加到我的默认对象中,但结果是相同的.我可以看到DOM更新,控制台没有错误,但模态不可见.

javascript decorator angularjs angular-material

17
推荐指数
1
解决办法
1523
查看次数

MS过滤器添加了jquery

我正在研究一个项目,其中一个任务是使背景静态并覆盖整个页面.关于这个我找到了这个教程,使用"很棒,简单,渐进的CSS3方式".我的问题是我有更多的页面,每个页面都有不同的背景,所以我必须把背景图像放在<body>这样:

<body style="background-image:url(images/mainBg_1.jpg);">
Run Code Online (Sandbox Code Playgroud)

(还有css样式<body>,而不是"html",就像在例子中)

正如您在该链接中看到的,IE有过滤器,如下所示:

filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='.**myBackground.jpg**', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='**myBackground.jpg**', sizingMethod='scale')";
Run Code Online (Sandbox Code Playgroud)

问题是"myBackground.jpg"是从<body>标签中获取的,正如我上面所写,因此我不能直接在css中编写(每个页面都有不同的背景).

有没有办法使用jQuery添加这些过滤器?我成功地从body中获取了图像的路径,因此我只需要将其粘贴到此代码中,然后使用jQuery for IE <= 8添加.

谢谢你的回答,跟着他们我成功解决了我的问题.所以,如果有人想要代码:

$(function(){       
    var mu = $.browser;
    if (mu.msie && mu.version < 9) {

        var curBg = $('html').attr('style');
        curBg = curBg.split('(');
        curBg = curBg[1].split(')'); 

        $('html').css({
                    "filter" : "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+curBg[0]+"', sizingMethod='scale')",
                    "-ms-filter" : "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+curBg[0]+"', sizingMethod='scale')"
            });         

    }
});
Run Code Online (Sandbox Code Playgroud)

jquery background css3

7
推荐指数
1
解决办法
5909
查看次数

函数变量来自包含文件 - php

我没有找到一个很好的答案我的问题,所以我开始一个新的主题.我有文件english.php,其中包含$ lang ['fname'] ="名字"等变量; .我还有header.php,其中包括english.php:include('english.php');. 现在,header.php包含在另一个php页面中,比如说addInfo.php.如果我在addInfo.php中写:echo $ lang ['fname']; 它显示了我的"名字",但是如果我在addInfo.php中写一个函数,作为示例函数添加(){echo $ lang ['fname'];}然后添加(); (我也试过echo added())它不想显示值("名字").有人知道这个样本(我认为)问题的解决方案.我准备尝试所有答案了.此致,StefanZ

php variables function

2
推荐指数
1
解决办法
3764
查看次数

在循环内混合两个SASS变量

我有几个scss变量看起来像:

$box-bg1: #7a8360;
$box-bg2: #918261;
$box-bg3: #6a8177;
$box-bg4: #686f5e;
Run Code Online (Sandbox Code Playgroud)

我想在for中使用这些变量,例如:

@for $i from 1 through 4 {
  .locationBox:nth-child(#{$i}) { background: $box-bg#{$i}; }
}
Run Code Online (Sandbox Code Playgroud)

编译代码后我得到这个错误:语法错误:未定义的变量:"$ box-bg",看起来像#{$i}变量对我的代码没有任何意义.有没有办法在这样的循环中使用变量?

注意:我也使用指南针

css sass compass-sass

1
推荐指数
1
解决办法
704
查看次数