簡體   English   中英

ng-change on select拋出錯誤

[英]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)
  • 確保您的控制器包裝html代碼
  • 檢查您的代碼是否如下所示。
  • 確保您的app / controllers包含在index.html中

 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM