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) {

        }
    );
}