即使重置范围,AngularJS Modal也会保留值

时间:2016-03-16 18:27:25

标签: javascript angularjs

我正在使用Materialize模式,我有:

$scope.initUpsertModal = function(userId) {
  var userPromise;
  if (userId) {
    userPromise = $http.get("/api/users/" + userId);
  } else {
    userPromise = Promise.resolve({
      data: {
        status: 'active',
        type: 'mentor'
      }
    });
  }
  return userPromise.then(function(response) {
    $scope.currentUser = response.data;
    return $('#userModal').openModal();
  });
};

当我用userId打开模态时,一切都很顺利。然后我关闭模态并继续我的生活。然后我打开没有userId的模态,不知何故模态具有上一次打开时的数据。

在我看来,我有 <ng-include src="'/views/modals/userUpsert.html'"></ng-include>

1 个答案:

答案 0 :(得分:1)

没有什么能够破坏模态的范围。你只是隐藏它。

你应该挂钩在modalClose上调用的complete回调

$('.modal-trigger').leanModal({
      complete: function() { // destroy scope } 
    }
  );