Javascript Angularjs如何在插入新记录后加载服务数据?
我正在插入用户记录。插入后,我需要立即显示该记录。这是我的Javascript Angularjs如何在插入新记录后加载服务数据?,javascript,angularjs,angular-services,Javascript,Angularjs,Angular Services,我正在插入用户记录。插入后,我需要立即显示该记录。这是我的js插入记录代码。新用户创建和显示用户列表工作正常,但刷新页面后会显示新的插入记录 从服务获取所有用户记录 var users = this; /***********ADD A USER(TAG INPUT)************/ users.init = init; function init(){ getMyDoers(); } if(l
js
插入记录代码。新用户创建和显示用户列表工作正常,但刷新页面后会显示新的插入记录
从服务获取所有用户记录
var users = this;
/***********ADD A USER(TAG INPUT)************/
users.init = init;
function init(){
getMyDoers();
}
if(localStorageService.get('usersOpen') !== null){
users.usersDoers = localStorageService.get('usersOpen');
}
else
{
users.usersDoers = [];
}
localStorageService.set('usersOpen', users.usersDoers);
localStorageService.bind($scope, 'usersOpen');
users.init = init;
function init(){
getMyUsers();
}
users.getMyUsers = getMyUsers;
function getMyUsers(){
//$scope.data = [];
DataService.getMyUsers().then(function successCallback(response) {
$scope.data = response.data.results;
$scope.usersOpen.length = 0;
$scope.usersOpen.push({'data': response.data.results});
},function errorCallback(response) {
}
);
}
Js to create users.
$scope.createUser = function()
{
console.log($scope.UserID.join());
$scope.userData = 'userIds='+$scope.UserID.join();
DataService.createUser($scope.userData).then(function successCallback(response) {
console.log('created');
},function errorCallback(response) {
}
);
}
<ul>
<li ng-repeat="getMyUsers in UsersOpen[0].data track by $index">
<div class="list_left">
<div class="pro_img">
<img src="images/user.png" alt=""/>
</div>
<div class="pro_text">
<h2 class=""><a>{{ getMyDoers.firstName }}</a></h2>
<p class="">Apple, Book, Designer, Web developer</p>
<span><img src="images/location.png" alt=""/>New York, USA</span>
</div>
</div>
</li>
</ul>
var-users=this;
/***********添加用户(标记输入)************/
users.init=init;
函数init(){
getMyDoers();
}
if(localStorageService.get('usersOpen')!==null){
users.usersDoers=localStorageService.get('usersOpen');
}
其他的
{
users.usersDoers=[];
}
localStorageService.set('usersOpen',users.usersDoers);
bind($scope,'usersOpen');
users.init=init;
函数init(){
getMyUsers();
}
users.getMyUsers=getMyUsers;
函数getMyUsers(){
//$scope.data=[];
DataService.getMyUsers().then(函数successCallback(响应){
$scope.data=response.data.results;
$scope.usersOpen.length=0;
$scope.usersOpen.push({'data':response.data.results});
},函数errorCallback(响应){
}
);
}
Js创建用户。
$scope.createUser=function()
{
log($scope.UserID.join());
$scope.userData='userIds='+$scope.UserID.join();
DataService.createUser($scope.userData)。然后(函数successCallback(响应){
console.log('created');
},函数errorCallback(响应){
}
);
}
-
{{getMyDoers.firstName}
苹果、书籍、设计师、网络开发者
美国纽约
您可以在从$scope.createUser()
成功创建用户后立即尝试调用“Angular service”函数getMyUsers()
,因为,函数getMyUsers()
更新您的角度模型“UsersOpen
”,它可以动态更新您的视图。只需调用“getMyUsers”插入新记录后的功能,如下所示:
由于“getMyUsers”函数正在更新模型UsersOpen,新添加的记录将包含在更新的“UsersOpen”对象中
使用本地存储的具体原因是什么?它调用函数但不刷新记录。不显示新插入的记录。请检查变量“usersOpen”。您已经在controller中将其定义为“usersOpen”,并在html中将其用作“usersOpen”。为什么在“getMyUsers in UsersOpen[0].数据跟踪按$index”中以“getMyUsers in..”的形式重复它?调用此函数getMyUsers()时,我得到了响应中的最后一条插入记录,但它没有在html记录中显示。
$scope.createUser = function()
{
console.log($scope.UserID.join());
$scope.userData = 'userIds='+$scope.UserID.join();
DataService.createUser($scope.userData).then(function successCallback(response) {
console.log('created');
getmyUsers();
},function errorCallback(response) {
}
);
}