簡體   English   中英

根據屬性值啟用/禁用按鈕

[英]Enabling/ disabling button base on values of a property

我僅在登錄的用戶具有sendSMS屬性的值為true時才顯示按鈕。 為此,我應該在ng-show中放置什么? 另外,我不太確定是否正確放置了屬性的值。 我創建了一個以用戶為基本模型的Viewer模型,並添加了一個名為sendSMS的屬性,以便可以使用此屬性啟用/禁用按鈕。

create-sample-model.js

    var async = require('async');
module.exports = function(app) {
  //data sources
  var db = app.dataSources.db;
  //create all models
  async.parallel({
    viewers: async.apply(createViewers),
  }, function(err, results) {
    if (err) throw err;
  });
  //create reviewers
  function createViewers(cb) {
    db.automigrate('Viewer', function(err) {
      if (err) return cb(err);
      var Viewer = app.models.Viewer;
      Viewer.create([
        {email: 'example01@gmail.com', password: 'example123', sendSMS: 'false'},
        {email: 'example02@gmail.com', password: 'User01', sendSMS: 'true'}
      ], cb);
    });
  }
};

驗證碼

angular
  .module('app')
  .factory('AuthService', ['Viewer', '$q', '$rootScope', function(Viewer, $q,
      $rootScope) {
    function login(email, password, sendSMS) {
      return Viewer
        .login({email: email, password: password, sendSMS: sendSMS})
        .$promise
        .then(function(response) {
          $rootScope.currentUser = {
            id: response.user.id,
            tokenId: response.id,
            email: email
          };
        });
    }
    function logout() {
      return Viewer
       .logout()
       .$promise
       .then(function() {
         $rootScope.currentUser = null;
       });
    }

    function register(email, password, sendSMS) {
      return Viewer
        .create({
         email: email,
         password: password,
         sendSMS: sendSMS
       })
       .$promise;
    }

    return {
      login: login,
      logout: logout,
      register: register
    };
  }]);
  • 這是位於services文件夾中的身份驗證

驗證碼

    angular
  .module('app')
  .controller('AuthLoginController', ['$scope', 'AuthService', '$state',
      function($scope, AuthService, $state) {
    $scope.Viewer = {
      email: '',
      password: '',
      sendSMS: ''
    };
    $scope.login = function() {
      AuthService.login($scope.user.email, $scope.user.password)
        .then(function() {
          $state.go('report');
        });
    };
  }])
  .controller('AuthLogoutController', ['$scope', 'AuthService', '$state',
      function($scope, AuthService, $state) {
    AuthService.logout()
      .then(function() {
        $state.go('home');
      });
  }])
    .controller('SignUpController', ['$scope', 'AuthService', '$state',
      function($scope, AuthService, $state) {
    $scope.user = {
      email: '',
      password: ''
    };

    $scope.register = function() {
      AuthService.register($scope.user.email, $scope.user.password)
        .then(function() {
          $state.transitionTo('report');
        });
    };
  }]);
  • 這是位於controllers文件夾中的身份驗證

report.html

<button type="button" ng-show="currentUser.Viewer.sendSMS" class="btn btn-primary btn-sm" data-toggle="modal" data-target="#myModal">
    Send sms for selected </button>

您可以在按鈕上使用ng-disabled屬性。 請參閱ng-disabled 可以根據sendSMS的作用域值禁用按鈕

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM