2015-04-26 16 views
0

我绑定一个用户配置文件数据的变量是这样的:3路在角和火力地堡造成滞后绑定在输入框

// Profile Management 
var user = firebase.child('users').child(userID); 
$firebaseObject(user).$bindTo($scope, 'user'); 

下面是HTML:

<div ng-show="firebaseUser"> 
    <h1>Your Profile</h1> 

    <div class="contentContainer"> 
     <div class="profilePicture"> 
      <img src="images/noProfile.png"> 
     </div> 
     <div class="personalInfo"> 

      <input type="text" ng-model="user.Name" ng-change="user.$save()" type="text" 
        label="Name" placeholder="Your Name.." name="userName"> 
      <input type="text" ng-model="user.Phone" ng-change="user.$save()" type="text" 
        label="Phone" placeholder="Your Phone #.." name="userPhone"> 

      <label>Email</label> 
      {{firebaseUser.password.email}} 
     </div> 
    </div> 
</div> 

它的工作,当我输入个人资料时,它会自动更新Firebase数据库,但是会有严重的滞后现象,如果您键入快速跳过很多单词,这种情况非常严重,以至于无法使用,这一点非常明显。

我在做什么错?

回答

6

这位用户。 ng-model-options="{debounce: {'default': 500} }范围周期将被触发将延迟500ms。您也可以调整它以适应应用程序的使用。欢呼!

<input type="text" ng-model="user.Name" ng-change="user.$save()" type="text" 
    ng-model-options="{debounce: {'default': 500} }" 
    label="Name" placeholder="Your Name.." name="userName"> 

    <input type="text" ng-model="user.Phone" ng-change="user.$save()" type="text" 
    ng-model-options="{debounce: {'default': 500} }" 
    label="Phone" placeholder="Your Phone #.." name="userPhone"> 
+1

令人难以置信的作品!谢谢!! – Jordash