2015-04-29 3 views
1

Моя проблема заключается в том, как добавить некоторую переменную в объект $ scope.master из контроллера.

Я сохраняю некоторые данные в db на угловой форме submit.

И цель состоит в том, чтобы автоматически сохранять переменную date_create в форме submit. Поэтому мне нужно иметь его в объекте $ scope.master углового по умолчанию. И для этого, как мне кажется, мне нужно нажать его в $ scope.master в контроллере.

То, что я сейчас и он не работает:

app.controller('AddController', ['$scope', '$http', '$location', function($scope, $http, $location) { 
    var currentDate = Math.floor(new Date().getTime()/1000); 
    $scope.master = {}; 
    // I've tried to add variable from here 
    // $scope.master = {date_update: currentDate}; 
    $scope.activePath = null; 

    // function which triggers on form submit 
    $scope.addNew = function(product, AddNewForm) { 
     $http.post('api/add', product).success(function(data){ 
      // And also I've tried to add it from here 
      $scope.master.date_update = currentDate; 
      console.log(data); 
      $scope.reset(); 
      $scope.activePath = $location.path('/products'); 
     }); 
     $scope.reset = function() { 
      $scope.product = angular.copy($scope.master); 
     }; 

     $scope.reset(); 
    }; 
}]); 

Журналы:

Object {name: "123", category_id: "3", date_update: null, id: "11"} 
+0

'$ scope.master = { "date_update": CurrentDate};' есть у попытался это? –

+0

Откуда вы знаете, что он не работает? У вас есть журналы ошибок? –

+0

Да, я пробовал. Ознакомьтесь с обновленными байтами с журналом. – Alliswell

ответ

1

Если вы хотите добавить данные, делая запись вы могли бы просто использовать angular.extend метод OR более простой способ - вы можете получить доступ к этому объекту, используя литерал &, чтобы установить его значение.

Код

$scope.addNew = function(product, AddNewForm) { 
    angular.extend({}, product, {date_update: currentDate}); 
    //product["date_update"] = currentDate; //this is alternative 
    $http.post('api/add', product).success(function(data){ 
     // And also I've tried to add it from here 
     console.log(data); 
     $scope.reset(); 
     $scope.activePath = $location.path('/products'); 
    }); 
    $scope.reset = function() { 
     $scope.product = angular.copy($scope.master); 
    }; 

    $scope.reset(); 
}; 
+0

do upvote, если это вам поможет, спасибо :) –

+0

Я сделал) Спасибо, мужчина) – Alliswell

+1

еще раз проверьте;) – Alliswell

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