Javascript 角度材质背景放置[对象]代替

Javascript 角度材质背景放置[对象]代替,javascript,angularjs,html,angular-material,Javascript,Angularjs,Html,Angular Material,每次打开md select时,我都可以看到文本被添加到正文中,而不是背景。看起来是这样的: 通过代码没有什么特别之处: <md-select ng-model="project.filters.center" placeholder="{{ 'CENTER' | translate }}" ng-change="project.loadProjects()"> <md-option ng-repeat="item in project.centers" ng-valu

每次打开md select时,我都可以看到文本被添加到正文中,而不是背景。看起来是这样的:

通过代码没有什么特别之处:

<md-select ng-model="project.filters.center" placeholder="{{ 'CENTER' | translate }}" ng-change="project.loadProjects()">
    <md-option ng-repeat="item in project.centers" ng-value="item.ID_CENTER">{{ item.NAME }}</md-option>
</md-select>
因此,如果我注释$animate.enter行,文本将停止显示,当然还有背景,但在这种情况下,我得到的是对象文本,而不是背景

有没有办法解决这个问题?为什么会这样? 我不能仅仅删除背景,因为在单击外部时需要关闭“选择”,但该文本正在向下推动我的内容

我用的是1.1.3,最新版本,我刚用鲍尔拉过

编辑:

我现在解决了这个问题,用一个普通的附加函数替换$animate.enter函数

if (options.hasBackdrop) {
  // Override duration to immediately show invisible backdrop
  options.backdrop = $mdUtil.createBackdrop(scope, "md-select-backdrop md-click-catcher");
  //$animate.enter(options.backdrop, $document[0].body, null, {duration: 0});
  angular.element($document[0].body).append(options.backdrop);
}

但必须有一种方法不涉及修改角度材质本身。

在将角度材质更新为1.1.4后,我遇到了类似的问题。我得到了与您相同的结论,旧版本(1.1.1)的材质使用了
选项。父级
而不是
$document[0]。正文
,并且工作正常。有趣的是,旧版本中的
select.js
文件使用的是
$document[0]。body
,而
angular material.js
使用的是
options.parent
;较新版本正在两个文件中使用
$document[0].body
。到目前为止,我找到的唯一解决方案是我在编辑中添加的解决方案,但最近我们重建了前端,因此不再使用相同的DOM。有趣的是:自从我们这么做之后,我就再也没有发生过这样的事情,可能是因为我无法再测试一个非常特定的元素树,或者是其他插件的一些怪癖,因为我们使用的插件比以前少得多。接下来,我更新了angular、angular animate和angular aria,问题就解决了。我相信是角度动画更新解决了这个问题。
if (options.hasBackdrop) {
  // Override duration to immediately show invisible backdrop
  options.backdrop = $mdUtil.createBackdrop(scope, "md-select-backdrop md-click-catcher");
  //$animate.enter(options.backdrop, $document[0].body, null, {duration: 0});
  angular.element($document[0].body).append(options.backdrop);
}