如何访问ng-init或ng-checked中服务回调函数中声明的$scope变量
How to access $scope variable declared in service callback function in ng-init or ng-checked
我有进行身份验证的service.js。成功时,从controller.js 执行服务回调函数
service.js:
'use strict';
angular.module('Authentication')
.factory('AuthenticationService', ['$http', '$cookieStore', '$rootScope','$timeout', '$location', '$window',
function ($http, $cookieStore, $rootScope, $timeout, $location, $window) {
var service = {};
service.Login = function (username, password, callback) {
$http.post('..json', {
headers: {
username: username,
password: password
}
})
.success(function (data, status, headers, config) {
$timeout(function () {
callback(status);
}, 1000);
});
};
return service;
}])
controller.js:
'use strict';
angular.module('Authentication').controller('LoginController', ['$scope', '$rootScope', '$location', 'AuthenticationService', '$http', '$timeout', '$window',
function ($scope, $rootScope, $location, AuthenticationService, $http, $timeout, $window) {
**$scope.name=true;**
$scope.login = function () {
AuthenticationService.Login($scope.username, $scope.password, function (response) {
if (response === 'Success') {
$http.get('..json').success(data,status,headers,config){
**$scope.value=true;**
})
} else {
alert("Error");
}
});
};
}]);
HTML:
我有两个复选框与控制器中的两个$scope变量链接——$scope.name和$scope.value
<input type="checkbox" ng-checked="name"> abc
<input type="checkbox" ng-checked="value">xyz
现在,由于两个$scope变量都设置为true,因此最初应该选中两个复选框。。。。但是选中了带有$scope.name的复选框,而未选中$scope.value的
关于为什么会发生这种情况,以及如何使第二个复选框也基于$scope.value 进行初始检查的任何想法
这是一个与您的原始代码几乎完全相同的工作版本,我看到的唯一错误可能是if (response === 'Success')
,因为在我的示例代码中,.success(data,status,headers,config)
中的status
是一个数字,而不是像"Success"这样的字符串,也请查看此处的官方文档。
相关文章:
- 如何将一个JavaScript函数回调为多个函数
- Meteor:异步函数回调异常:onAfterAction
- 从类方法中的 ajax post 函数回调函数更改 javascript 类属性
- jQuery动画函数回调错误
- jquery在html属性中添加函数回调,以便在其他事件中调用
- jquery getjson 函数:回调返回错误的字符串
- postMessage - 多个 postMessage 事件/函数/回调
- 在 Promise 调用的错误函数回调后附加对象的用法是什么
- 单击事件后的 JavaScript 函数回调
- 设置超时函数回调静态变量
- Jquery UI 模式匿名函数回调以打开对话框
- 函数回调、局部变量和 chrome.storage.sync.get
- Jquery Ajax 没有拾取选项参数中指定的函数回调
- 如何在 javascript 中进行函数回调
- 用函数回调封装JavaScript
- jQuery JavaScript嵌套异步函数回调
- Node.js-匿名函数回调
- 函数回调超出范围
- php代码的Javascript函数回调
- 如何使用函数回调在更改时提交表单