gpt4 book ai didi

angularjs - 将 $log 注入(inject)每个 Controller 和服务

转载 作者:行者123 更新时间:2023-12-04 15:34:13 25 4
gpt4 key购买 nike

有没有办法将 AngularJS 的 $log 注入(inject)到每个服务和 Controller 中?为每个人指定它只是感觉有点多余。

最佳答案

另一种方法是向 rootScope 添加一个方法,然后通过 Controller 中的 $scope.$root 访问它,从而避免再次注入(inject)。我不知道它是否像全局一样糟糕。

testapp.js

(function(){
'use strict';
angular.module('app', [])
.run(function($rootScope, $log) {
$rootScope.log = function(msg){
$log.info(msg);
}
})
.controller('LogCtrl', ['$scope', function LogCtrl($scope) {
$scope.logThis = function(msg){
$scope.$root.log(msg);
};
}]);
})();

测试.html
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.5/angular.min.js"></script>
<script src="testapp.js"></script>
</head>
<body ng-app="app">
<div ng-controller="LogCtrl">
<p>Enter text and press the log button.</p>
Message:
<input type="text" ng-model="message"/>
<button ng-click="logThis(message)">log</button>
</div>
</body>
</html>

关于angularjs - 将 $log 注入(inject)每个 Controller 和服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22951759/

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