[英]ng-change on select throwing an error
HTML
<tr dir-paginate="sale in payments | itemsPerPage: 6">
<td>{{sale.date}}</td>
<td>{{sale.transaction_id}}</td>
<td>{{sale.artist_details.seller_num}}</td>
<td>{{sale.artist_details.name}}</td>
<td>{{sale.exc_vat}} Kr</td>
<td>{{sale.total_price}}</td>
<td><select ng-change="released()" ng-options="released.item for released in releasedSeller.options" ng-model="released" ></select><span>{{released.item}}</span></td>
</tr>
CONTROLLER
$scope.released=function() {
console.log('pending');
}
$scope.releasedSeller = {
options : [{
item: 'Pending'
}, {
item: 'Released'
}]
}
我正在使用ng-change來調用selectbox中的函數。 但我可以得到選項數據,它是包裝控制器,我從控制器這里得到支付數據。我在app.js(ui-router)中提到使用控制器但是當我選擇一些選項時,它是拋出如下錯誤。
angular.js:13236 TypeError: v2.released is not a function
at fn (eval at compile (angular.js:14086), <anonymous>:4:215)
var app = angular.module('app', []); app.controller('DemoCtrl', function($scope) { $scope.items = [{ 'name': 'a' }, { 'name': 'b' }, { 'name': 'c' }, { 'name': 'd' }]; $scope.showSelected = function() { $scope.selectedItem = $scope.itemModel; }; });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <body ng-app="app"> <div ng-controller="DemoCtrl"> <select ng-options="item.name for item in items" ng-change="showSelected(item)" ng-model="itemModel"></select> <h5> Selected item: {{selectedItem}}</h5> </div> </body>
在綁定“已釋放”變量中的選定值時,將在范圍內創建新的變量並覆蓋您在控制器中編寫的舊“已釋放”(函數)。
錯誤的方法 :
NG-變化= “釋放()”
NG-模式= “釋放”
正確的路 :
NG-變化= “釋放()”
NG-模型= “selectedReleased”
<select ng-change="released()" ng-options="released.item for released in releasedSeller.options" ng-model="selectedReleased" ></select>
我猜這是導致錯誤的原因。
我認為你正在使用ng-controller作為語法,所以這個錯誤即將發生v2.released不是一個函數
將v2.released更改為剛剛在html文件中發布
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.