MobileFirst:如何使用 angularJS 将参数传递给适配器
MobileFirst: How to pass parameters to adaptor using angularJS
我首先在移动设备中使用 angularJS,但出现错误,因为适配器未接收到参数值
需要知道如何使用 $scope
或不使用 $scope
在 function(function($scope.userName, $scope.password)) & parameter(parameters : [$scope.userName, $scope.password])
变量中传递参数
app.controller('loginController',function($scope){
$scope.login = function($scope.userName, $scope.password){
$scope.userNameTxt = angular.element('#usrName').val();
$scope.passwordTxt = angular.element('#pass').val();
console.log($scope.userName, $scope.password);
$scope.userName = $scope.userNameTxt;
$scope.password =$scope.passwordTxt;
$scope.loginProcedure = {
procedure : 'login',
adaptor : 'SQL',
parameters : [$scope.userName, $scope.password]
};
WL.Client.invokeProcedure($scope.loginProcedure,{
onSuccess : $scope.loginSuccess,
onFailure : $scope.loginFailure
});
$scope.loginSuccess = function(data)
{
$scope.data = data;
console.log($scope.data);
};
$scope.loginFailure = function()
{
console.log('failed');
};
}
});
双向绑定
如果您在控制器中使用双向绑定,如下所示
<div ng-controller="loginController">
<form ng-submit="login()">
<input type="text" ng-model="username" placeholder="Username" />
<input type="password" ng-model="password" placeholder="Password" />
<input class="btn-primary" type="submit" value="Login" />
</form>
</div>
那么您可以使用以下方法:
app.controller('loginController',function($scope){
$scope.login = function(){
$scope.loginProcedure = {
procedure : 'login',
adapter : 'SQL',
parameters : [$scope.username, $scope.password]
};
WL.Client.invokeProcedure($scope.loginProcedure,{
onSuccess : $scope.loginSuccess,
onFailure : $scope.loginFailure
});
$scope.loginSuccess = function(data)
{
$scope.data = data;
console.log($scope.data);
};
$scope.loginFailure = function()
{
console.log('failed');
};
}
});
无绑定:
如果您没有对表单字段使用双向绑定,那么您可以尝试以下操作:
app.controller('loginController',function($scope){
$scope.login = function(){
var username = angular.element('#usrName').val();
var password = angular.element('#pass').val();
$scope.loginProcedure = {
procedure : 'login',
adapter : 'SQL',
parameters : [username, password]
};
WL.Client.invokeProcedure($scope.loginProcedure,{
onSuccess : $scope.loginSuccess,
onFailure : $scope.loginFailure
});
$scope.loginSuccess = function(data)
{
$scope.data = data;
console.log($scope.data);
};
$scope.loginFailure = function()
{
console.log('failed');
};
}
});
我首先在移动设备中使用 angularJS,但出现错误,因为适配器未接收到参数值
需要知道如何使用 $scope
或不使用 $scope
function(function($scope.userName, $scope.password)) & parameter(parameters : [$scope.userName, $scope.password])
变量中传递参数
app.controller('loginController',function($scope){
$scope.login = function($scope.userName, $scope.password){
$scope.userNameTxt = angular.element('#usrName').val();
$scope.passwordTxt = angular.element('#pass').val();
console.log($scope.userName, $scope.password);
$scope.userName = $scope.userNameTxt;
$scope.password =$scope.passwordTxt;
$scope.loginProcedure = {
procedure : 'login',
adaptor : 'SQL',
parameters : [$scope.userName, $scope.password]
};
WL.Client.invokeProcedure($scope.loginProcedure,{
onSuccess : $scope.loginSuccess,
onFailure : $scope.loginFailure
});
$scope.loginSuccess = function(data)
{
$scope.data = data;
console.log($scope.data);
};
$scope.loginFailure = function()
{
console.log('failed');
};
}
});
双向绑定
如果您在控制器中使用双向绑定,如下所示
<div ng-controller="loginController">
<form ng-submit="login()">
<input type="text" ng-model="username" placeholder="Username" />
<input type="password" ng-model="password" placeholder="Password" />
<input class="btn-primary" type="submit" value="Login" />
</form>
</div>
那么您可以使用以下方法:
app.controller('loginController',function($scope){
$scope.login = function(){
$scope.loginProcedure = {
procedure : 'login',
adapter : 'SQL',
parameters : [$scope.username, $scope.password]
};
WL.Client.invokeProcedure($scope.loginProcedure,{
onSuccess : $scope.loginSuccess,
onFailure : $scope.loginFailure
});
$scope.loginSuccess = function(data)
{
$scope.data = data;
console.log($scope.data);
};
$scope.loginFailure = function()
{
console.log('failed');
};
}
});
无绑定:
如果您没有对表单字段使用双向绑定,那么您可以尝试以下操作:
app.controller('loginController',function($scope){
$scope.login = function(){
var username = angular.element('#usrName').val();
var password = angular.element('#pass').val();
$scope.loginProcedure = {
procedure : 'login',
adapter : 'SQL',
parameters : [username, password]
};
WL.Client.invokeProcedure($scope.loginProcedure,{
onSuccess : $scope.loginSuccess,
onFailure : $scope.loginFailure
});
$scope.loginSuccess = function(data)
{
$scope.data = data;
console.log($scope.data);
};
$scope.loginFailure = function()
{
console.log('failed');
};
}
});