AngularJS - 如何创建后端?

时间:2014-10-25 06:00:34

标签: javascript angularjs

我在一个html页面上有一个angularjs应用程序,它几乎运行良好。但是我没有在angularjs脚本上使用常量,而是希望在有人可以从另一个页面更改值的情况下使其成为动态。这里有一些示例代码我希望是动态的:

// compute base_cost    
$scope.base_cost = function(pages, delivery) {

    // change this if you want to change price per page
    price_per_page = 150;

    // change this if you want to change the cost of a 3 day delivery
    three_business_days = 100;

    base_cost = pages * price_per_page;

    if (delivery === "3 Business Days"){
        base_cost = pages * price_per_page + three_business_days;
    }

    return base_cost;
};

我希望price_per_pagethree_business_days有一个单独的页面(可能是受密码保护的),其中包含这些变量'当客户想要改变价格等时,客户可以更改常量。

最简单的方法是什么?

P.S。我目前已经在搜索它了,但我们将非常感谢您的一些指导。

由于

3 个答案:

答案 0 :(得分:0)

假设另一个页面表示另一个视图,请参阅此answer。基本上,创建一个service

答案 1 :(得分:0)

假设您希望跨会话保留这些值,您需要的不仅仅是服务:您需要某种API /数据库。

有无穷无尽的选择:node.js,ASP.NET Web API等。取决于您的体验。

您是否认为firebase可以快速启动并运行(假设您没有现有的基础设施可供依赖)?这是一个合理的实验免费等级。

https://www.firebase.com

还有一些不错的AngularJS支持:

https://www.firebase.com/docs/web/libraries/angular/index.html

虽然实时方面可能有点过分..

答案 2 :(得分:0)

您所描述的是工厂/服务。它是MVC应用程序中的model

在角度方面,工厂是单身,你不会实例化它的新副本,并且在一个区域内对其进行的更改会持续到另一个区域。当然,这只是在会话期间,您需要将模型状态存储到其他形式的存储中。

这是一个示例应用程序,它有一个控制器(显示如何使用它)和一个工厂。

angular.module('testModule', [])
.factory('BaseCost', function(){
    // change this if you want to change price per page
    price_per_page = 150;

    // change this if you want to change the cost of a 3 day delivery
    three_business_days = 100;

    return {
        price: function(amt){
            price_per_page = amt;
        },
        days: function(cost){
            three_business_dates = cost;
        },
        base: function(pages){
            return pages * price_per_page;
        }
    };

})
.controller('ACtrl',function($scope, BaseCost){

    $scope.setPrice = function(amt){
        BaseCost.price(amt);
    };

    $scope.daysCost = function(cost){
        BaseCost.days(cost);
    }

    $scope.baseCost = BaseCost.base(pages);

});