Я уже определил функцию в контроллере angularjs. Но если я назову его где-то в том же контроллере, он не работает.
function ManageProductController($http, $scope, $mdDialog, $document, $location, $localStorage)
{
var vm = this;
vm.uid = $localStorage._id;
vm.purchased = '';
$scope.Types = [{code:1, type:'Available Items'}, {code:2, type:'Purchased Items'}, {code:3, type:'Guest Contributed'}, {code:4, type:'Full List'}];
$scope.update();
$scope.update = function() {
if($scope.selectedCode == 1){
vm.purchased = "yes";
}else if($scope.selectedCode == 2){
vm.purchased = "";
}else{
vm.purchased = "no";
}
$http({
url: 'http://localhost:7200/api/manage-product',
method: 'POST',
data: {userId:vm.uid, code:vm.purchased}
}).success(function(res) {
//$scope.productlist = res;
//console.log(vm.result);
vm.result = res.result;
vm.count=vm.result.length;
//console.log(vm.result);
if(vm.count == 0){
vm.showMessage = true;
} else {
vm.result=res.result;
vm.showMessage = false;
}
//console.log(vm.result);
//vm.docs=res.docs;
}, function(error) {
console.log(error);
alert('here');
});
};
}
В приведенном выше коде $scope.update();
не работает. Я искал так много вещей в google, но они вызвали одинаково, но в моем случае это не работает. Я не знаю, где я ошибаюсь.
Поскольку @svarog сказал, что вы вызываете функцию перед ее объявлением, попробуйте это.
function ManageProductController($http, $scope, $mdDialog, $document, $location, $localStorage)
{
var vm = this;
vm.uid = $localStorage._id;
vm.purchased = '';
$scope.Types = [{code:1, type:'Available Items'}, {code:2, type:'Purchased Items'}, {code:3, type:'Guest Contributed'}, {code:4, type:'Full List'}];
$scope.update = function() {
if($scope.selectedCode == 1){
vm.purchased = "yes";
}else if($scope.selectedCode == 2){
vm.purchased = "";
}else{
vm.purchased = "no";
}
$http({
url: 'http://localhost:7200/api/manage-product',
method: 'POST',
data: {userId:vm.uid, code:vm.purchased}
}).success(function(res) {
//$scope.productlist = res;
//console.log(vm.result);
vm.result = res.result;
vm.count=vm.result.length;
//console.log(vm.result);
if(vm.count == 0){
vm.showMessage = true;
} else {
vm.result=res.result;
vm.showMessage = false;
}
//console.log(vm.result);
//vm.docs=res.docs;
}, function(error) {
console.log(error);
alert('here');
});
};
$scope.update();
}
$scope.update();
? Вы называете это, прежде чем объявить это