地基:
alertService.danger("You broke it!")
所以...我想,在APP LOAD(刷新)上,检测是否有URL参数“?alertMessage =你打破了它& alertType = Danger”,如果有,请调用我的服务根据什么是显示警告通过。
我想知道实现这一目标的最佳方法是什么。我创建了这样一个工厂:
#alertOnLoad.js
var AlertOnLoad = angular.module('myApp.alertOnLoad.service', []);
AlertOnLoad.factory('alertOnLoad', function($location, alertService) {
var queryParams = $location.search();
var alertText = queryParams.alertText;
var alertType = queryParams.alertType;
alertService[alertType](alertText, {timeout: 3000});
return {};
});
module.exports = AlertOnLoad.name;
然后在我的App.js中我注入了该服务。所以它在页面加载时运行。
#app.js
angular.module('myApp.onOfMyApps', [
viewsModule,
scaffoldingModule
])
.config(function($locationProvider, $urlRouterProvider) {
$locationProvider.html5Mode({
enabled: true
});
$urlRouterProvider.otherwise('/asset-list/');
})
.run(function($rootScope, alertOnLoad){ // Service Injected here
});
这完全有效,但出于以下几个原因感觉不对:
app.run()
块只是为了让它们开始设置似乎很奇怪。 我很好奇是否有人对如何更好地利用Angular实现这一点有任何其他想法。
干杯!