我在使用 Sammy 和 Angular 时遇到问题。
我有这个应用程序模块
var appModule = angular.module('myApp', []).run(function (routes) {
routes.run('#/');
});
而这项服务
appModule.factory('routes', function ($rootScope) {
var routes = $.sammy(function () {
this.get('#/room/:roomId', function () {
var that = this;
setTimeout(function () {
$rootScope.$broadcast('user has entered the room', {roomId: that.params['roomId']});
}, 1000);
});
});
return routes;
});
我需要这个setTimeout
,因为我不知道何时可以访问 $rootScope。当我在 中输入低间隔数时setTimeout
,事件不会广播。一秒钟的时间间隔可以,但我不想要这种丑陋的解决方案。如何确定 $rootScope 已准备就绪并且可以启动 url 处理程序函数?