2014-11-06 2 views
0

Как добавить новый объект, который следует читать из формы ввода в AngularJS?Добавление объекта в словарь JSON в AngularJS

мой JSON:

{ 
"1": { 
    "name": "Audi", 
    "year": "1993", 

}, 
"2": { 
    "name": "BMW", 
    "year": "2012", 
} 
} 


мой Add.html:

<form name="addForm" ng-controller="AddCtrl" ng-submit="AddCtrl.newcar.(car)"> 
    <p>name: <input type="text" ng-model="AddCtrl.newcar.name"></p> 
    <p>year: <input type="text" ng-model="AddCtrl.newcar.year"></p> 
    <input type="submit" value="send" /> 
</form> 


мой AddCtrl:

angular.module('motoApp') 
.controller('AddCtrl', ['$scope','$http', '$routeParams', function($scope, $http, 
     $routeParams) {  
    $http.get('scripts/controllers/cars.json').success (function(data){ 

    }); 

    this.newcar = {}; 

    this.addCar = function(car) { 
     car.name.push(this.name); 
     this.newcar ={}; 
    }; 

    }] 
); 

Я хочу иметь страницу, которая после заполнения всех входов и кнопка отправки клика ne w будет добавлен в JSON со следующим id. Где и что я должен добавить, чтобы достичь этого?

ответ

3

Ваш код является неправильным.

angular.module('motoApp') 
.controller('AddCtrl', ['$scope','$http', '$routeParams', function($scope, $http, 
     $routeParams) {  
    $scope.cars = []; 
    $http.get('scripts/controllers/cars.json').success (function(data){ 
     $scope.cars = data; 
    }); 

    $scope.addCar = function() { 
     $scope.cars.push($scope.car.name); 
    }; 

    }] 
); 

форма

<form name="addForm" ng-controller="AddCtrl" ng-submit="addCar()"> 
    <p>name: <input type="text" ng-model="car.name"></p> 
    <p>year: <input type="text" ng-model="car.year"></p> 
    <input type="submit" value="send" /> 
</form> 

Работа скрипку: http://jsfiddle.net/wyorodt0/

+0

Хорошо, но как толкать новый автомобиль в JSON файл? –

+0

Спасибо, это очень помогает! –

+0

Добро пожаловать :) –

Смежные вопросы