2016-09-28 91 views
0

我有一個輸入字段,其值在數據庫中在焦點丟失(使用onblur)時被更新。我想要做的是添加一個通知,告訴用戶該值已更改。更改字段後的顯示通知(角度和節點)

我迄今爲止代碼:

HTML

<input type="text" ng-model="allsettings.pin" ng-blur="update_pin()"> 
<div class="alert-box notification"><span>Update: </span> {{pin_notification}}</div> 

JS

$scope.update_pin = function() { 
      if ($scope.allsettings.pin != undefined) { 
       $scope.loading = true; 
       //IF VALUE IS VALID, CALL THE UPDATEPIN FUNCTIONn 
       Todos.updatepin($scope.allsettings) 
        //IF SUCCESSFUL, GET VALUE 
        .success(function(data) { 
         $scope.loading = false; 
         $scope.formData = {}; //CLEAR FORM SO THAT USER CAN ENTER NEW DATA 
         $scope.allsettings.pin = {type : $scope.todos[0].pin}; //PASS VALUE IN OUR SCOPE  
         $scope.allsettings.pin_notification = {type : $scope.todos[0].updated_pin}; //PASS VALUE IN OUR SCOPE 
        }); 
      } 
     }; 

更新數據庫

//API UPDATES PIN FOR THIS USER, RETURNS STATUS 
exports.update_pin = function(req, res) { 


    var pin = req.body.pin; //GET PIN VALUE FROM POSTED PARAMETER 
    var response = {}; 
    response.updated_pin = "Your pin was updated to "+pin; 

    models.login_data.update(
     {pin: pin}, 
     {where: {username: global_user}} 
    ).then(function (result) { 
     res.send(response); 
    }).catch(function(error) { 
     console.log('error'); 
    }); 

}; 

我看到價值得到更新和響應上包含th我想要顯示的電子郵件。但是這個消息永遠不會顯示。

回答

0

最後兩行成功的回調應該是

$scope.allsettings.pin = $scope.todos[0].pin; 
$scope.allsettings.pin_notification = $scope.todos[0].updated_pin; 

而在HTML中最後一行應

<div class="alert-box notification"><span>Update: </span> {{allsettings.pin_notification}}</div> 
0

在視圖中使用的表達變量應該是allsettings.pin_notification不僅僅是pin_notification

<div class="alert-box notification"><span>Update: </span> {{allsettings.pin_notification}}</div>