Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 构建一个大型应用程序,需要一些关于数据管理的说明_Javascript_Angularjs - Fatal编程技术网

Javascript 构建一个大型应用程序,需要一些关于数据管理的说明

Javascript 构建一个大型应用程序,需要一些关于数据管理的说明,javascript,angularjs,Javascript,Angularjs,我的应用程序将松散地基于房屋,因此我的示例将在下面格式化。将能够创建包含房屋信息的项目,包括每一侧以及每一侧的窗户 现在我正在使用vanilla对象来管理我的数据。我用ng repeat列出了侧面及其尺寸。这很好,只是我觉得我可以用“角度的方式”来做,而且我没有利用它 比如像这样的事情: function Side(name) { this.name = name; this.measurements = []; this.subtractions = []; t

我的应用程序将松散地基于房屋,因此我的示例将在下面格式化。将能够创建包含房屋信息的项目,包括每一侧以及每一侧的窗户

现在我正在使用vanilla对象来管理我的数据。我用ng repeat列出了侧面及其尺寸。这很好,只是我觉得我可以用“角度的方式”来做,而且我没有利用它

比如像这样的事情:

function Side(name)
{
    this.name = name;
    this.measurements = [];
    this.subtractions = [];
    this.photos = [];
    this.expanded = false;
    this.addMeasurement = function()
    {
        var m = new SideMeasurement();
        m.name = 'Measurement '+(this.measurements.length+1);
        this.measurements.push(m);
    }
}

function SideMeasurement()
{
    this.name = '';
    this.width = '';
    this.height = '';
}


rbpApp.controller('newProjectCtrl', ['$scope', function($scope) {

    var defaultSideNames = ['Front','Left Side','Right Side','Back'];
    var sides = [];


    for(var i = 0; i<defaultSideNames.length; i++)
    {
        var side = new Side(defaultSideNames[i]);
        side.addMeasurement();
        sides.push(side);
    }

    $scope.sides = sides;

}]);
功能端(名称)
{
this.name=名称;
这个值为[];
这个。减法=[];
这个。照片=[];
this.expanded=false;
this.addMeasurement=函数()
{
var m=新侧边测量();
m、 name='Measurement'+(this.measurements.length+1);
这个。测量。推力(m);
}
}
函数边测量()
{
this.name='';
这个宽度=“”;
这个。高度=“”;
}
rbpApp.controller('newProjectCtrl',['$scope',函数($scope){
var defaultSideNames=['Front','Left Side','Right Side','Back'];
var边=[];

对于(var i=0;ione建议将数据对象生成移动到角度服务,并在控制器中注入服务。然后,当您开始从普通静态数据移动到从服务器提取的数据时,只需更改服务代码,而无需更改控制器代码。此外,当您模块化路由、指令和其他控制时,还具有更大的灵活性Trollers谢谢你的提示!如果我有一个服务,比如说我的侧边,我怎么可能有多个侧边?我假设我会有一个“侧边经理”将CRUD应用于辅助类的服务?如果没有更高层次的应用程序目标概念,就很难提供帮助。如果你有入门级的演示可能会有所帮助。但是,一旦你开始使用服务,你可能会发现在应用程序之间共享数据是多么容易,如果你没有这样做……在angular docs网站上完成教程的每一步。这是ge的一个好工具进入“思考角度”