ng-click不使用Controller-As语法触发

时间:2017-09-22 17:54:33

标签: javascript jquery angularjs angularjs-controlleras

在我的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]);
}());

1 个答案:

答案 0 :(得分:1)

请使用ProductListCtrl.lookUpItem(),如下所示 -

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