Javascript 使用角度布线时如何升级Material Design Lite js组件?
我知道MDLJS组件(如文本字段、菜单和选项卡)默认情况下在文档加载时加载和升级,但在使用角度路由的模板上不会发生这种情况。此时,我正在使用它,但它只会在用户第二次访问视图时使我的组件正常工作:Javascript 使用角度布线时如何升级Material Design Lite js组件?,javascript,angularjs,material-design-lite,Javascript,Angularjs,Material Design Lite,我知道MDLJS组件(如文本字段、菜单和选项卡)默认情况下在文档加载时加载和升级,但在使用角度路由的模板上不会发生这种情况。此时,我正在使用它,但它只会在用户第二次访问视图时使我的组件正常工作: $scope.$on('$routeChangeStart', function() { $document.ready(function() { componentHandler.upgradeDom(); }); }); 在用户第一次进入视图之前,还是要升级模板上的组
$scope.$on('$routeChangeStart', function() {
$document.ready(function() {
componentHandler.upgradeDom();
});
});
在用户第一次进入视图之前,还是要升级模板上的组件?我被困在这个问题上。这对我很有效
angular.module(...)
.run(function($rootScope, $location, $timeout) {
$rootScope.$on('$viewContentLoaded', function() {
$timeout(function() {
componentHandler.upgradeAllRegistered();
});
});
})
我对MDL不是很熟悉,但你可能会发现它很有用。我来看看。非常感谢@SeanWalsh。我为我的案子找到了一个简单的解决方案,@SeanWalsh,谢谢你。我使用了setInterval(),而不是$document.ready,就像这样:
code
setInterval(function(){componentHandler.upgradeDom();},200)<代码>代码