且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

使用诺言在控制器之间共享数据?

更新时间:2023-11-17 11:43:46

您应该为要共享的变量定义 get set 方法,并将其返回为好吧.我会这样格式化您的服务:

You should define get and set methods for the variable that is being shared, and return these as well. I would format your service like so:

wikiServices.factory('newsService', function($http, $q){
    var chosenNewsStory = "";

    return {
        getNewsStory: function(news_id, callback){
            var deferred = $q.defer();
            $http({
                method: "GET",
                url: "news/article/" + news_id
            }).success(function(newsStory){
                deferred.resolve(newsStory);
                console.log("RESOLVED " + newsStory);   
            });
            return deferred.promise;
        },

        getNews: function() {
            return chosenNewsStory;
        },

        setNews: function(story) {
            chosenNewsStory = story;
        }
    }
});

现在,您将可以观看 newsService.getNews()并使用 newsService.setNews(news)

Now you will be able to watch newsService.getNews() and set it with newsService.setNews(news)