2015-08-24 2 views
0

Я пытаюсь добавить число просмотров на свою страницу, увеличивая значение каждый раз, когда кто-то посещает страницу.Обновление значения объекта Javascript дает null

У меня есть объект вроде этого:

{ 
    _id: "55da051afe08e73168fc7aeb", 
    url: "https://www.youtube.com/watch?v=eUdM9vrCbow", 
    title: "Django Unchained", 
    embedUrl: "https://www.youtube.com/embed/eUdM9vrCbow", 
    __v: 0, 
    downvotes: 0, 
    upvotes: 0, 
    views: 0, 
    created_on: "2015-08-24T13:37:33.951Z", 
    desc: "With the help of his mentor, a slave-turned-bounty hunter sets out to rescue his wife from a brutal Mississippi plantation owner." 
} 

Я получение этого объекта с помощью '.one()' AngularJS МЕТОДА:

var movie = Movie.one($routeParams.id); 

Целью является для увеличения этого значения. На данный момент я делаю это так:

movie.views++; 
movie.put(); 

Но это не работает, и просто дает мне нулевое значение, в то время как это делает работу:

movie.views = 10; 
movie.put(); 

Что я делаю неправильно?

+0

попробовать 'movie.views = movie.views + 1;' –

+0

Уже попробовал это – Roemerdt

+0

Возможно ли, что вы вообще ничего не извлекаете в объект 'movie'? Это объясняет, почему работает прямое присвоение числа, но приращение (null) не выполняется. – Marc

ответ

1

Вы не можете увеличить значение null, установить его 0 (ноль) по умолчанию.

{ 
    _id: "55da051afe08e73168fc7aeb", 
    url: "https://www.youtube.com/watch?v=eUdM9vrCbow", 
    title: "Django Unchained", 
    embedUrl: "https://www.youtube.com/embed/eUdM9vrCbow", 
    __v: 0, 
    downvotes: 0, 
    upvotes: 0, 
    views: 0, //instead of 'null' 
    created_on: "2015-08-24T13:37:33.951Z", 
    desc: "With the help of his mentor, a slave-turned-bounty hunter sets out to rescue his wife from a brutal Mississippi plantation owner." 
} 
+0

Извините, это была ошибка в вопросе. Я на самом деле установлен в 0. Я обновил вопрос. – Roemerdt

+0

Ох ... когда вы делаете 'console.log (movie)', что у вас есть как результат и что такое значение 'views'? –

+0

{ "_id": "55da04e2fe08e73168fc7aea", "маршрут": "фильм", "reqParams": нулевой, "restangularized": правда, "fromServer": ложь, "parentResource": нулевой, " restangularCollection ": false } – Roemerdt

0

Я исправил это так:

Я не был на самом деле обновление реальный объект, как Marc предложил

Movie.one($routeParams.id).get().then(function(response){ 
    response.views++; 
    $http.put("http://localhost:3000/movie/" + $routeParams.id, response); 
}); 
Смежные вопросы