2014-11-08 77 views
0

我对Angular JS和mongod非常新颖。我希望能够将一个新的成分字段推入此页面中的特定饮料,即+按钮所在的位置。如何添加项目作用域AngularJS

这是我的看法

My UI

这是我.jade文件block content div.container-fluid(ng-controller="DrinkController", ng-init="setDrinks(#{JSON.stringify(drinks)})") div.row div.col-md-2 div.col-md-8 h1.title Edit Drinks div.row div.col-md-3 b Name div.col-md-3 b Filename div.col-md-1 div.col-md-5 b Ingredients div.row.editRow(ng-repeat="drink in drinks | orderBy: 'name'") form(ng-submit="editDrink(drink)") div.col-md-3 input(value="{{drink.name}}", ng-model="drink.name") div.col-md-3 input(value="{{drink.image}}", ng-model="drink.image") div.col-md-1.text-right a(ng-click="addNewIngredientEd()") + div.col-md-4 div.row(ng-repeat="ingredient in drink.ingredients") div.col-md-7 select.mixers(value="{{ingredient.name}}", ng-model="ingredient.name", ng-options="i for i in ingredientsList") div.col-md-4 input.addForm.ingredient(value="{{ingredient.amount}}", ng-model="ingredient.amount", style="width: 100px;") div.col-md-1 a(ng-click="removeIngredientEdit($index)") - div.col-md-1 button.btn Save

这是我的相关JS

$scope.addNewIngredientEd = function() { 
$scope.newDrink.ingredients.push({ name: '', amount: 0 }); 

//alert("Hello! I am an alert box!!"); 
console.log('Added new ingredient Test '); 
}; 
+0

你能告诉更多的代码?控制器是否在html中分配? – Semicolon 2014-11-08 05:00:25

+0

我添加了所有.jade文件 – dwebber 2014-11-08 05:06:26

+0

您确定要使用'ng-init =“setDrinks(#{JSON.stringify(drinks)}'而不是'ng-init =”setDrinks(#{JSON.parse(drinks )}'? – 2014-11-08 05:36:53

回答

0

你要$index,它的NG-重复的部分

addNewIngredientEd($index) 

$scope.addNewIngredientEd = function ($index) { 
    $scope.drinks[$index].ingredients.push(... 
+0

当我更改我的$ scope.newDrink.ingredients.push为$ scope.drinks [$ index] .ingredients.push我得到错误的控制台说:“类型错误:无法读取属性'成分'未定义 在Scope.DrinkController。$ scope.addNewIngredientEd“ – dwebber 2014-11-08 18:25:38

+0

这个作品谢谢你! – dwebber 2014-11-08 19:38:11

相关问题