Knockout:Uncaught ReferenceError:赋值中的左侧无效

时间:2018-05-18 14:03:20

标签: jquery knockout.js

我正在尝试更改模型中的属性,例如usersProfile.friendRequestStatus() = 'DECLINED';,但我一直收到错误:

  

usersprofilemodel.js:86未捕获的ReferenceError:分配中的左侧无效
      at Object.success(usersprofilemodel.js:86)
      在火上(jquery.js:3119)
      at Object.fireWith [as resolveWith](jquery.js:3231)
      完成后(jquery.js:9275)
      在XMLHttpRequest.callback(jquery.js:9685)

我有点困惑,因为我觉得我做的一切都是正确的。这是我的淘汰赛mmdel:

function usersProfileModel(data) {
  var usersProfile = ko.mapping.fromJS(data);
  usersProfile.mutualFriendsPercentage = ko.pureComputed(function() {
    if (usersProfile.mutualFriendsCount() > 0) {
      return (usersProfile.mutualFriendsCount() / usersProfile.friendsCount()) * 100;
    } else {
      return 0;
    }
  });

  usersProfile.addFriend = function() {
    showNotification('top-right', 'info', 'Awaiting response', 250, 2000);
  };

  usersProfile.removeFriend = function(parent) {    
    $.get("http://localhost:8080/dashboard/friendrequest/remove/" + parent.user.userName(), function(data, status) {
      if (data.isSuccessful) {
        usersProfile.friendRequestStatus() = 'DECLINED';
        showNotification('top-right', 'success', 'user has been removed', 250, 2500);
      }
    });
  };
  return usersProfile;
}

有人可以解释造成这种情况的原因,我觉得我做得对。

1 个答案:

答案 0 :(得分:1)

由于friendRequestStatus已映射到KO observable,您应该能够:

usersProfile.friendRequestStatus(' DECLINED&#39);