ng-click 或 ng-submit 不调用控制器方法
ng-click or ng-submit is not invoking controller method
>我刚刚开始学习Angular JS,并下载了Dan Wahlin的客户经理应用程序为我动手。到目前为止,我已经尝试调用我的 Web API 来返回所有记录并与运行良好的 View 绑定。现在我正在尝试添加一个带有提交按钮的文本框来搜索输入的文本,这似乎是 angular 应用程序的非常基本功能,但无法通过单击提交按钮调用控制器方法:
<form ng-submit="getSearchResuls(id)">
<input type="text" data-ng-model="id" class=" novalidate form-control" />
<input type="submit" value="Search" />
</form>
我也尝试过:
<form >
<input type="text" data-ng-model="id" class=" novalidate form-control" />
<input type="submit" value="Search" onclick="getSearchResuls(id)" />
</form>
两者都不适用于我的以下控制器定义 (函数 () {
var injectParams = ['$location', '$filter', '$window',
'$timeout', 'authService', 'dataService', 'modalService'];
var CustomersController = function ($location, $filter, $window,
$timeout, authService, dataService, modalService) {
function getSearchResuls(id) {
dataService.getSearchResults(id, vm.currentPage - 1, vm.pageSize)
.then(function (data) {
vm.totalRecords = data.totalRecords;
vm.customers = data.results;
filterCustomers(''); //Trigger initial filter
$timeout(function () {
vm.cardAnimationClass = ''; //Turn off animation since it won't keep up with filtering
}, 1000);
}, function (error) {
$window.alert('Sorry, an error occurred: ' + error.data.message);
});
}
};
CustomersController.$inject = injectParams;
angular.module('customersApp').controller('CustomersController', CustomersController);
}());
我也尝试在表单标签中添加ng控制器,但仍然没有运气。请问你能有你宝贵的意见来解决这个问题吗?
需要将
函数getSearchResuls
添加到您的作用域中。因此,首先,确保"$scope"被列为 injectParams,然后将$scope作为 CustomersController 的参数。然后执行以下操作:
$scope.getSearchResuls = function (id) {
//the rest of your code here
}
相关文章:
- 如何在单击复选框后调用控制器方法
- 在嵌套递归指令中将参数传递给父控制器方法
- 如何在使用$timeout进行指令渲染后调用控制器方法
- 使用javascript将控制器方法移动到客户端
- AngularJS在页面重定向上执行控制器方法
- 如何从弹簧控制器方法更新html img src
- 表单提交未到达控制器方法
- 使用 $.getJson 方法从 jquery 调用 C# MVC 控制器方法
- 如何将对象列表传递到MVC4中的控制器方法
- 如何将从jQuery创建的数组传递给控制器方法
- 通过javascript调用控制器方法
- 一键点击首先调用javascript,执行验证,然后调用控制器方法
- 窥探递归角度控制器方法
- Angular为不同的url调用不同的控制器方法
- 如何在 emberjs 中访问其他控制器方法
- 如何从Javascript函数调用控制器方法
- 调用控制器方法并在客户端上获取数据
- 离子:$ionicPlatform.isIOS()在控制器方法中不起作用
- 使用 Ajax 将表单数据发布到控制器方法
- 在 ember.js 中定义和使用控制器方法