3

我在使用 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 处理程序函数?

4

1 回答 1

2

你真的“需要”使用 Sammy

您是否尝试过使用 Angular 的路由来获取参数?

http://docs.angularjs.org/api/ng.$ro​​ute

http://docs.angularjs.org/api/ng.$ro​​uteParams

干杯斯图

于 2013-04-10T06:20:18.467 回答