在我的HTML
中,我有一个ng-click
指令,它在ProductListCtrl
中调用了一个函数。我使用Controller As
语法,但我不知道它为什么不起作用。您通常只是使用语法将其附加到this.
,但有些错误。
这是我的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 :(得分:1)
请使用ProductListCtrl.lookUpItem(),如下所示 -
<button id="itemLookUpBtn" class="btn btn-sm" style="vertical-align: top; color: #337ab7;" ng-click="ProductListCtrl.lookUpItem()">Search</button>