1

Когда я добавляю новый продукт в список продуктов, он не работает. Таким образом, продукты загружаются хорошо, но функция ng-click не вызывается. (Предупреждение, которое я положил в функцию addProduct, не выполняется).Функция AngularJS ng-click не достигнута

HTML

<div ng-controller="ProductController as ProductCtrl"> 
Zoeken <input type="text" ng-model="search" placeholder="Search" /> 
<div> 
    Filter Type 
    <button ng-repeat="cat in categories" ng-click="filterProductsByCategory(cat)">{{cat}}</button> 
</div> 
<table cellpadding="5" cellspacing="0" border="1"> 
    <tr> 
     <th>ID</th> 
     <th>Product</th> 
     <th>Type</th> 
     <th>Price</th> 
     <th>Toevoegen</th> 
    </tr> 
    <tr ng-repeat="product in ProductCtrl.products"> 
     <td>{{product.id}}</td> 
     <td>{{product.name}}</td> 
     <td>{{product.type}}</td> 
     <td>{{product.price}}</td> 
     <td></td> 
    </tr> 
    <tr><td></td> 
     <td><input type="text" name="newProduct.name" ng-model="productCtrl.newProduct.name"></td> 
     <td><input type="text" name="newProduct.price" ng-model="productCtrl.newProduct.price"></td> 
     <td><input type="text" name="newProduct.type" ng-model="productCtrl.newProduct.type"></td> 
     <td><a href ng-click="productCtrl.addProduct()">Product {{productCtrl.newProduct.name}} toevoegen</a></td></tr> 
</table> 

Любая помощь будет оценена.

Контроллер:

app.controller('ProductController', function(productService) { 

    var that = this; 

    productService.getProducts().success(function(data) { 
     that.products = data; 
    }); 

    this.newProduct = ""; 
    this.addProduct = function() { 

     that.products.push(this.newProduct); 
     window.alert(that.products); 
     this.newProduct = ""; 

    }; 
}); 

ответ

4

Сво опечатка, контроллер Алиас ProductCtrl не productCtrl, Кроме того, вы должны изменить ng-model «с, чтобы исправить одно и то же

Заменить productCtrl на ProductCtrl будет исправить вашу проблему.

<tr> 
    <td> 
    <input type="text" name="newProduct.name" ng-model="ProductCtrl.newProduct.name"/> 
    </td> 
    <td> 
    <input type="text" name="newProduct.price" ng-model="ProductCtrl.newProduct.price"/> 
    </td> 
    <td> 
    <input type="text" name="newProduct.type" ng-model="ProductCtrl.newProduct.type"/> 
    </td> 
    <td> 
    <a href ng-click="ProductCtrl.addProduct()"> 
     Product {{productCtrl.newProduct.name}} toevoegen 
    </a> 
    </td> 
</tr> 
+1

Спасибо, это работает. Иногда вы просто не видите этого больше, еще раз спасибо! –

+1

@SanderNelen Это случается..Не забудьте нажать вверх и принять ответ .. Рад помочь вам .. Спасибо :) Спасибо! –

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

  • Нет связанных вопросов^_^