2013-07-15 26 views
0

我是AngularJS的新手,並且在向控制器中的函數傳遞變量時遇到了問題。這裏是我的HTML頁面的代碼:變量不會在AngularJS中作爲參數傳遞

<li ng-repeat="grade in grades"> 
    <span class="status-{{grade.status()}}" ng-hide="visible" focus="visible = true" blur="visible = false" ng-click="visible = true">{{grade.name}},</span> 
    <span class="status-{{grade.status()}}" ng-hide="visible" focus="visible = true" blur="visible = false" ng-click="visible = true">{{grade.score}}</span> 
    <form ng-model="studentUpdForm" ng-submit="update({{grade.name}}, {{studentNameNew}}, {{grade.score}}, {{studentGradeNew}})" focus="visible = true" blur="visible = false" ng-show="visible"> 
     <input type="text" ng-model="studentNameNew" size="12" class="status-{{grade.status()}}" placeholder="{{grade.name}}" value="{{grade.name}}">, 
     <input type="text" ng-model="studentGradeNew" size="2" class="status-{{grade.status()}}" placeholder="{{grade.score}}" value="{{grade.score}}">             <input class="btn-primary" type="submit" value="update"> 
    </form> 
</li> 

下面是函數的形式分:

$scope.update = function(thisName, newName, thisScore, newScore) { 

    //run some code 
}; 

什麼它應該做的事:允許列表項的內聯編輯,從產生數組「等級」,每個項目都是「等級」。這就是我陷入麻煩的地方:在調用函數$ scope.update時,thisScore和newScore的值將從變量{{grade.score}}和{{studentGradeNew}}中正確傳遞。但是,我試圖通過thisName和newName的值不是。當我發送到控制檯傳遞的參數,我得到這個:

undefined undefined 98 88 

我一直在四處看,爲什麼新舊名稱不越過,但是很茫然。這對我來說尤其古怪,因爲新舊分數變量傳遞成功,而且它們是以與名稱相同的方式聲明的。我必須錯過一些東西,但不能想到什麼。

回答

0

嘗試刪除函數調用中的{{}}。他們不是必需的。不知道爲什麼它仍然會找到一些變數而不是其他變數,但在我的掠奪者中,當我移除它們時,事情開始奏效。

+0

這樣做!謝謝,我希望這件事很簡單。 –