2015-06-17 7 views
-2

Я Центровочный представить форму с angularjs, но не работает каждый может найти, где моя ошибка:Принятие представлений [Angularjs]

Моя форма:

<form ng-controller="ReviewsController as reviewCtrl" ng-submit="reviewCtrl.addReview(product)"> 
       <blockquote > 
        <b>Stars: {{ reviewCtrl.review.stars }}</b> 
        {{ reviewCtrl.review.body }} 
        <cite>by: {{reciewsCtrl.review.author}}</cite> 
       </blockquote> 
        <select ng-model="reviewCtrl.review.stars"> 
         <option value="1">1</option> 
         <option value="2">2</option> 
         <option value="3">3</option> 
         <option value="4">4</option> 
         <option value="5">5</option> 
        </select> 
        <input type="text" ng-model="reviewCtrl.review.body"/> 
        <input type="text" ng-model="reciewsCtrl.review.author"/> 
        <input type="submit"/> 

       </form> 

app.js

//Reviews 
    app.controller('ReviewsController' ,function(){ 
     this.review = {}; 

     this.addReview = function(product) { 

      product.reviews.push(this.review); 
     }; 
    }); 

Эта ошибка я вхожу в консоль:

ТипError: Не удается прочитать свойство «push» undefined на addReview (http://localhost/angular/js/app.js:107:25) при п (Eval в (http://localhost/angular/js/angular.min.js:1:0): 4: 353) при F (http://localhost/angular/js/angular.min.js:250:394) в м $ Eval (http://localhost/angular/js/angular.min.js:134:83) в м $ применяются (http://localhost/angular/js/angular.min.js:134:309) на HTMLFormElement... (http://localhost/angular/js/angular.min.js:250:446) в HTMLFormElement.m.event.dispatch (https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js:3:8549) в HTMLFormElement.r.handle (https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js:3:5259)

+0

'product' - это строка. он не имеет свойства 'reviews'. –

+1

Какой «продукт» должен быть? –

+0

Я не знаю - это ваше приложение. это должно быть то, что имеет свойство 'reviews', что значение имеет функцию' push'. –

ответ

0

Вы пропусканием символьной строки ('Самоцветы') методу addReview и он смотрит на меня из вашего кода, как этот метод, ожидает объект «product» с свойством array, называемым «обзоры».

+0

мне нужно добавить новый продукт в '' gems' массива вар самоцветы = [{ отзывов: [ { звезды: 5, тела: "Великий продукт", автор: "[email protected]" } , { звезд: 3, тело: "Bot плохо", автор: "[email protected]" } ] }, { '.... –

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