gpt4 book ai didi

javascript - 来自服务/工厂的 $mdMedia Angular $watch 屏幕尺寸

转载 作者:行者123 更新时间:2023-11-30 11:44:17 25 4
gpt4 key购买 nike

我怎样才能得到这个功能:

$rootScope.$watch(function () {
return $mdMedia('md');
}, function watchCallback(newValue, oldValue) {
$scope.detectScreen = $mdMedia('max-width: 1280px');
})

目前它位于我的 Controller 中,成为一个服务/工厂,因此我可以在多个 Controller 中使用它。

   .factory('MyFactory', [
'$rootScope',
'$mdMedia',
function ($rootScope, $mdMedia) {

return {
detectScreen: function (param) {
***///get the function to work from here///***
}
}

}
])

最佳答案

在没有 watch 的情况下将功能放入工厂:

app.factory('MyFactory', ['$mdMedia',
function ($mdMedia) {
return {
detectScreen: function () {
return $mdMedia('max-width: 1280px');
};
}
}
]);

在 Controller 中,使用$doCheck Life-Cycle Hook使范围变量保持最新:

app.controller("myController", function(myFactory, $scope) {
this.$doCheck = function () {
$scope.detectScreen = myFactory.detectScreen();
};
});

关于javascript - 来自服务/工厂的 $mdMedia Angular $watch 屏幕尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41531214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com