[英]How to pass of angular $scope variable to JavaScript normal variable
这是我的Angular $ scope.variable。
$scope.users = {
id : '',
fullName : '',
email : '',
profile_picture_url : ''
}
$scope.comments = {
commentId : '',
created_by_current_user : '',
created_by_admin : '',
user_has_upvote : '',
creator : '',
fullName : '',
content : '',
created : '',
modified : '',
upvote_count : '',
profile_picture_url : '',
pings : '',
parent : '',
uniqueId : '',
postId : ''
}
我只是从HTTP服务获取对象数组并将其存储为角度变量。 这是我的角度控制器
$scope.getByPost = function(postId) {
console.log('getpost')
$scope.user = $cookieStore.get('currentApp');
console.log($scope.user.uniqueId);
$scope.getUsers();
appService.getUserByPost($scope.user.uniqueId, postId)
.then(function(data) {
console.log("Comments" + data)
$scope.comments = data;
});
};
$scope.getUsers = function() {
console.log('getpost')
appService.fetchAllUsers().then(function(data) {
console.log("Users" + data)
$scope.users = data;
}, function(error) {
console.log('Error ' + error)
})
};
现在,我需要将这些变量传递给另一个普通的JavaScript文件以进行DOM操作。 我确实喜欢这个
var dom_el = document.querySelector('[ng-controller="appController"]');
var ng_el = angular.element(dom_el);
var ng_el_scope = ng_el.scope();
var commentsArray = ng_el_scope.comments;
var usersArray = ng_el_scope.users;
不工作 请告诉我解决这个问题。
将当前控制器中的值保存到$ rootscope中,如下所示:$ rootscope.users = data; 使用$ rootscope.requiredValue = $ rootscope.users; 在其他角度js页面中。
尝试使用window.onload
,例如:
window.onload=function(){
var dom_el = document.querySelector('[ng-controller="appController"]');
var ng_el = angular.element(dom_el);
var ng_el_scope = ng_el.scope();
var commentsArray = ng_el_scope.comments;
var usersArray = ng_el_scope.users;
}
或者您可以尝试使用setInterval
因为也许您的js
代码在完全完成angular
确定之前正在运行
尝试像这样使用:
声明如下JavaScript函数
window.sample = function(comments)
{
// do something
}
在成功回调中调用此函数
window.sample(data)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.