[英]AngularJS ng-click is not working
我正在嘗試在 Angular JS 中實現一個小項目,但我一直試圖在 ng-click 上調用一個不起作用的函數,但是初始加載很好..我想要的是能夠用我的參數調用 ajax已經測試並工作,但無法通過 ng-click 調用該函數。
我正在使用 asp.net mvc5 和 angularjs,
索引.chtml:
@{
ViewBag.Title = "Main";
}
<div class="wrapper wrapper-content" ng-app="mainModule" ng-controller="mainController">
<div class="row">
<div class="form-group col-lg-3 col-sm-6">
<button type="submit" class="btn btn-warning" ng-click="getObject()">Apply</button>
</div>
</div>
<div class="row">
<div class="col-lg-3 col-sm-6">
<div>@Html.Partial("_Booking")</div>
</div>
<div class="col-lg-3 col-sm-6">
<div>@Html.Partial("_Commission")</div>
</div>
<div class="col-lg-3 col-sm-6">
<div>@Html.Partial("_Discount")</div>
</div>
<div class="col-lg-3 col-sm-6">
<div>@Html.Partial("_Revenue")</div>
</div>
</div>
</div>
@section Scripts {
@Scripts.Render("~/scripts/main")
}
主文件
var mainModule = angular.module("mainModule", []);
mainModule.controller("mainController", [
"$scope", "mainFactory", function ($scope, mainFactory) {
$scope.returnedObject = {};
mainFactory.getObject()
.then(function (response) {
$scope.returnedObject = response.data;
console.log(response.data);
}, function (error) {
console.error(error);
});
}
]);
mainModule.factory("mainFactory", function ($q, $http) {
return {
getObject: function () {
var deferred = $q.defer(),
httpPromise = $http({ method: "GET", url: "/Main/BookingData" });
httpPromise.then(function (response) {
deferred.resolve(response);
}, function (error) {
console.error(error);
});
return deferred.promise;
}
};
});
HTML 應更改為以下內容,因為它不是表單提交。
<button type="button" class="btn btn-warning" ng-click="getObject()">
您需要在控制器中綁定getObject
函數。 它應該是:
$scope.getObject = function () {
mainFactory.getObject()
.then(function (response) {
$scope.returnedObject = response.data;
console.log(response.data);
}, function (error) {
console.error(error);
});
};
// Run on load
$scope.getObject();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.