我在电子应用程序中使用angularjs(1.x)和angular-material。我在视图中有两个md-select
s,当我尝试在Windows中使用它时,一切正常。但是当我在OS X中使用它时,md-select
在第一次点击后停止工作。我点击它,它打开项目列表,但如果我再次点击md-select
,它不再显示项目列表。值得注意的是,如果我点击第一个md-select
,第二个md-select
也停止工作。
检查html,我可以看到,md-select
有两个子元素:md-select-value
和div(md-select-menu-container)
。点击并选择任何项目后,md-select-menu-container
消失。也许它与这个问题有关,但第二个md-select
仍然有一个md-select-menu-container
,我无法打开它。
甚至尝试了一个简单的md-select
没有任何选项,它仍然只在第一次点击时打开。
<md-select ng-model="vm.test">
</md-select>
任何人都知道为什么会这样吗?
我会把我的代码放在这里,但我认为这个bug在我项目的其他地方。因为如果我在角度材料的演示页面中尝试md-select
s,它会按预期工作。
我的项目是在github,所以任何人都可以尝试:https://github.com/jradesenv/controle-projeto
更新:
我已经创建了一个带有nodejs express的简单服务器来托管角度应用程序,它在chrome和safari上完美运行。它似乎只是一个电子的错误。我注意到它不仅是md选择,而且md-dialogs和md-toast也有一些奇怪的延迟打开和关闭,只在电子中运行。
谢谢!
我使用角度材料1.1.5与此错误。当我将它降级到1.1.0时,我可以看到mdSelects按预期工作,但仍然有一些其他错误,如mdDialog关闭延迟,延迟更改标签等等。这是角度材料动画的错误。
对于有这个问题的人,我仍然使用角度材料1.1.5,但我只在Safari中禁用了所有动画,现在它按预期工作。
我正在使用此代码注入特定的css文件和bootstrap angularjs,并在特定的css文件中禁用所有动画:
function boot() {
if (/Safari/.test(navigator.userAgent)) {
var head = document.head,
style = document.createElement('link');
style.type = 'text/css';
style.rel = 'stylesheet';
style.href = 'styles/disable-animations.css';
head.appendChild(style);
}
window.onload = function () {
angular.bootstrap(document, ['app']);
};
}
//styles/disable-animations.css文件
* {
transition: none!important;
transition-duration: 0ms!important;
transition-delay: 0ms!important;
}