0

好的,我有两个相互依赖的模块,这两个模块都有服务、指令、ctrl 等,现在我的问题是如何在第一个服务的控制器中获取第二个模块服务的嵌套函数中分配的值,我已经添加对第一个控制器的依赖关系,但我看不到嵌套函数变量,然后在第一个模块的 ctrl 中对其进行操作,这是代码(大大减少了):

        angular.module("mainapp", [
                "dateSheet",
                "bookingApp"
            ]).controller("AppCtrl", [
                    "$scope",
                    "$attrs",
                    "Booking",
                     function (scope, source, attributes, AppDataLoader, booking, Booking) {
                        //HERE I NEED TO BE ABLE TO DO SOMETHING LIKE THIS

                           var getdaiyrate = function(){
                          var dumpDailyRates = scope.Booking.getalldates.getrates.dailyPrice 
                          console.log(dumpDailyRates);
                            }

                     }
]);
    angular.module("bookingApp", ["bookingApp.services",]);
    angular.module("bookingApp.services").service("Booking", [
        function(){
                function getRate(source, dateSheet, dateSheetCtrl, expect, $$childTail, appData) {
                                var dateValue = $("Date", source).text() || "";
                                if (!dateValue) {
                                    return null;
                                }
                                var dailyPrice = $("DailyPrice", source).text() || "";
                                var weeklyPrice = $("WeeklyPrice", source).text() || "";
                                var monthlyPrice = $("MonthlyPrice", source).text() || "";
                                var isAvailable = $("IsAvailable", source).text() === "1";
                                var minimumStay = Number($("MinimumStay", source).text());
                                if (isNaN(minimumStay)) {
                                    minimumStay = DEFAULT_MINIMUM_STAY;
                                }
                                return {
                                    date: new Date(dateValue),
                                    dailyPrice: dailyPrice,
                                    weeklyPrice: weeklyPrice,
                                    monthlyPrice: monthlyPrice,
                                    reserved: !isAvailable,
                                    minimumStay: minimumStay
                                };
                            }
                            return {
                            getalldates: function(source, $scope){
                                return getRate(source, scope);
                                }

                            };
                }
            ]);

以上不起作用我做错了什么......有人可以向我发送一个体面的教程,该教程处理使用各种模块和依赖项的端到端应用程序吗?克里斯

4

1 回答 1

2

您需要将服务模块注入您要使用它的模块中。所以第一行变成

angular.module("mainapp", ["dateSheet","bookingApp","bookingApp.services"])

我也没有看到创建bookingApp.services所以这也可能是必需的

angular.module("bookingApp.services",[]);

并且调用将是这样的

var dumpDailyRates = Booking.getalldates(sourceParameter, $scope);
于 2013-08-06T12:47:26.423 回答