0

在 angular-material-fullstack Yeoman 生成器中使用 Angular Material,我加入了一个toast

var last = {
  bottom: false,
  top: true,
  left: false,
  right: true
};

$scope.toastPosition = angular.extend({},last);

function sanitizePosition() {
  var current = $scope.toastPosition;
  if ( current.bottom && last.top ) current.top = false;
  if ( current.top && last.bottom ) current.bottom = false;
  if ( current.right && last.left ) current.left = false;
  if ( current.left && last.right ) current.right = false;
  last = angular.extend({},current);
}

$scope.getToastPosition = function() {
  sanitizePosition();
  return Object.keys($scope.toastPosition)
    .filter(function(pos) { return $scope.toastPosition[pos]; })
    .join(' ');
};

var showSimpleToast = function() {
  $mdToast.show(
    $mdToast.simple()
      .content('Please enter a valid stock name.')
      .position($scope.getToastPosition())
      .hideDelay(3000)
  );
};

我能做些什么来“让这段代码不碍事”?是否值得在服务中实施?我只是不希望它在我的控制器中占用太多空间。

4

1 回答 1

0

如果我误解了你的问题,请原谅我,但你在找这个吗?

$mdToast.show(
    $mdToast.simple()
    .content('Please enter a valid stock name.')
    .position('top right')
    .hideDelay(3000);
);

他们拥有的额外代码只是为了让您无法选中两个相对的复选框或缺少方向,例如top bottom丢失bottom并获得默认的侧向。

于 2015-11-04T17:29:13.917 回答