событие ng-click не срабатывает при нажатии кнопки?
Я создаю веб-приложение в Angularjs я пишу код отдельно .JS-файл для входа из базы данных is выполняется при загрузке страницы, но не запускается при нажатии кнопки, мой. код js:
var adminModule = angular.module('angApp', []);
//Defining a Angular Controller
adminModule.controller('AdminCtrl', ['$scope', '$http',
`enter code here` function ($scope, $http) {
Login();
function Login(U_Name, U_PWD) {
debugger;
//Defining the $http service for login the admin user
$http({
method: 'POST',
url: '/Admin/IsAuthenticate',
data: { User_Name: U_Name, User_PWD: U_PWD }
}).success(function (result) {
if (result == true) {
alert('user is valid');
}
else {
alert('unauthorised access!');
}
})
.error(function (error) {
//Showing error message
$scope.status = 'Unable to connect' + error.message;
});
}
}]);
и мой взгляд, как то, что я использую для привязки этого с помощью Angularjs вот проблема выше код работает на загрузке страницы, но не работает на кнопке нажмите, код, который я использую:
<div class="admin-login" ng-controller="AdminCtrl" ng-app="angApp">
<h2>using angularjs</h2>
<input type="text" id="txtUserAng" placeholder="User Name" ng-model="U_Name" />
<input type="password" id="txtPWDAng" placeholder="Password" ng-model="U_PWD" />
<input type="button" id="login" value="login" ng-click="Login()" />
</div>
кто-нибудь, пожалуйста, помогите мне, что я пропустил здесь, поэтому я не могу вызвать событие ng-click на нажатие кнопки Спасибо заранее.
2 ответов
код Login
функция должна быть в области видимости. Прямо сейчас, его по существу частная функция:
$scope.Login = function () {
...
}
присвоить функцию переменной области.
var adminModule = angular.module('angApp', []);
//Defining a Angular Controller
adminModule.controller('AdminCtrl', ['$scope', '$http',
function ($scope, $http) {
$scope.Login=function (U_Name, U_PWD) {
debugger;
//Defining the $http service for login the admin user
$http({
method: 'POST',
url: '/Admin/IsAuthenticate',
data: { User_Name: U_Name, User_PWD: U_PWD }
}).success(function (result) {
if (result == true) {
alert('user is valid');
}
else {
alert('unauthorised access!');
}
})
.error(function (error) {
//Showing error message
$scope.status = 'Unable to connect' + error.message;
});
}
$scope.Login();
}]);
редактировать:
попробуйте использовать этот html-код, но я не уверен.возможно, что оба ng-init и ng-controller находятся в одной и той же нагрузке div и ng-controller сначала после этого ng-init :
<div ng-app="angApp">
<div class="admin-login" ng-controller="AdminCtrl" >
<h2>using angularjs</h2>
<input type="text" id="txtUserAng" placeholder="User Name" ng-model="U_Name" />
<input type="password" id="txtPWDAng" placeholder="Password" ng-model="U_PWD" />
<input type="button" id="login" value="login" ng-click="Login()" />
</div>
</div>