2017-09-22 43 views
0

在我的HTML,我有一個ng-click指令,它調用我的ProductListCtrl中的函數。我正在使用Controller As語法,我不知道它爲什麼不起作用。您通常只需將其附加到this.的語法中,但出現錯誤。ng-click不能觸發控制器 - 語法

這是我的HTML

<form class="span2 pull-right" style="display: inline;"> 
    <label for="searchItem" style="font-size: large; font-weight: normal;">Item Code:</label> 
    <input id="searchItem" type="search" style="color: #337ab7;" ng-model="vm.searchCriteria" /> 
    <button id="itemLookUpBtn" class="btn btn-sm" style="vertical-align: top; color: #337ab7;" ng-click="lookUpItem">Search</button> 
</form> 

這是我的controller

(function() { 
    "use strict"; 
    var app = angular.module("productManagement") 

    var ProductListCtrl = function (productResource) { 
     var vm = this; 
     vm.searchCriteria = null; 
     productResource.query(/*{ $filter: "Price le 20", $orderby: "Price desc" },*/ function (data) { 
      vm.products = data; 
     }); 
     vm.lookUpItem = function() { 
      console.log("Here"); 
       productResource.query({ search: vm.searchCriteria }, function (data) { 
       if (data.length == 0) { 
        vm.noProducts = "No Results"; 
        vm.products = null; 
       } else { 
        vm.noProducts = null; 
        vm.products = data; 
       } 
      }); 
     } 
    } 
    app.controller("ProductListCtrl", ["productResource", ProductListCtrl]); 
}()); 
+0

請使用ProductListCtrl.lookUpItem(),如下面 - <形式類= 「跨距2右拉式」 樣式=「顯示:inline;「> ManishSingh

回答

1

請使用ProductListCtrl.lookUpItem(),如下面 -

<button id="itemLookUpBtn" class="btn btn-sm" style="vertical-align: top; color: #337ab7;" ng-click="ProductListCtrl.lookUpItem()">Search</button> 
+0

解決的辦法是使用'vm.lookUpItem()'。不是'ProductListCtrl.lookUpItem()'。但是,謝謝 – JustinJmnz