AngualrJS爬坑小問題

在這裏就不介紹AngularJS是什麼了,直接進入正題吧!

背景:公司做一個簡單的單頁面的後臺管理,說試一下AngularJS。我就接手了,在此記錄爬坑過程。
1. 使用頁面跳轉時的參數傳遞。

頁面

 <button class="btn btn-sm btn-info btn-outline" href="javascript:"  ng-click="detils(tender.projectCode);">項目詳情
                </button>

controller js方法

 $scope.detils = function (projectCode) {
        $state.go("main.detils", {projectCode: projectCode});
    };

路由配置,要注意params: {projectCode: null},必須要加上,不然獲取不到數據

app.config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) {
    $urlRouterProvider.otherwise('/');
    $stateProvider
        .state('main', {
            url: '/main',
            templateUrl: 'pages/main.html'
        })
        .state('main.work', {
            url: '/work',
            templateUrl: 'pages/work.html'
        })
        .state('main.detils', {
            url: '/detils',
             params: {projectCode: null},
            templateUrl: 'pages/detils.html'
    })
}]);

目標頁面使用參數,注意$stateParams 參數必須要加入到controller的入參中


    /**
     * 獲取業務對象信息
     */
    $scope.tenderInfo = function () {
        var projectCode = $stateParams.projectCode;
        $http.post(prefix+'/getTenderInfo', JSON.stringify({
            projectCode: projectCode,
            entityName: $scope.tenderTab,
            send:$scope.send
        })).then(function (response) {
            if (angular.isDefined(response) && angular.isDefined(response.data)) {
                var data = response.data;
                var content = data.tenderList.content;
                $scope.viewColumnList = data.viewColumnList;
                $scope.tenderList = content;
            }
        });
    };
2. 點擊頁面按鈕,把當前按鈕置灰

頁面

 <button ng-show="tender.success==false" class="btn btn-sm btn-info btn-outline" href="javascript:"
                        ng-click="sendMessage($event,tender.id);">上傳
                </button>

controller js方法,其中$event就是當前點擊的事件

 /**
     * 上傳
     * @param $event 當前點擊事件
     * @param entityId 業務對象ID
     */
    $scope.sendMessage = function ($event,entityId) {
        //獲取點擊對象,並添加“disable”
       $($event.target).addClass("disabled");
       $http.post(prefix+'/sendMessage', JSON.stringify({
            entityId: entityId,
            entityName: $scope.tenderTab
        })).then(function (response) {
            if (angular.isDefined(response) && angular.isDefined(response.data)) {
                toaster.pop('info', "提示信息", response.data.msg);
                $scope.tenderInfo();
            }
        });
    };
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章