0

私は$ mdDialogを使用していると私は別のjsファイルに存在するコントローラを指定しました。号 - AngularJs 1.X.X

親のJSコントローラー:

$scope.AddDesignationPrompt = function(ev) { 
    $mdDialog.show({ 
     controller: 'AddDesignationPromptController', 
     templateUrl: './Employee/Views/AddDesignation.tmpl.html', 
     parent: angular.element(document.body), 
     targetEvent: ev, 
     clickOutsideToClose:true, 
     fullscreen: true // Only for -xs, -sm breakpoints. 
    }) 
    .then(function(answer) { 
     $scope.GetPriliminaryData(); 
    }, function() { 
     $scope.status = 'You cancelled the dialog.'; 
    }); 
}; 

ダイアログコントローラー:

app.controller('AddDesignationPromptController', function ($scope, $rootScope, $mdDialog, $window, HTTPService) { 
    $scope.loadUpData = { 
      State: [], 
      Department: [], 
      Designation: [] 
     }; 

     HTTPService.getPriliminaryRegData().then(function (result) { 
      if ((result != undefined) && (result != null)) { 

       $scope.loadUpData = { 
        State: [], 
        Department: result.Result.Department, 
        Designation: [] 
       }; 

       console.log("Inside"); 
       console.log($scope.loadUpData); 

      } 
     }); 

    console.log("Outside"); 
    console.log($scope.loadUpData); 

    $scope.hide = function() { 
     $mdDialog.hide(); 
    }; 

    $scope.cancel = function() { 
     $mdDialog.cancel(); 
    }; 

    $scope.answer = function(answer) { 
     $mdDialog.hide(answer); 
    }; 
}); 

閲覧:

<md-dialog aria-label="Mango (Fruit)"> 
    <form ng-cloak> 
    <md-toolbar> 
     <div class="md-toolbar-tools"> 
     <h2>New Department</h2> 
     <span flex></span> 
     <md-button class="md-icon-button" ng-click="cancel()"> 
      <md-icon md-svg-src="./Employee/images/Close.svg" aria-label="Close dialog"></md-icon> 
     </md-button> 
     </div> 
    </md-toolbar> 
    <md-dialog-content> 
     <div class="md-dialog-content"> 
     <p>Enter the New Department</p> 
     <div class="controlItem"> 
      <md-select ng-model="select.designation" ng-change="onDesignationChange(select.designation)" tabindex="9"> 
       <md-option ng-repeat="key in loadUpData.Designation" value="{{key.DesignationId}}">{{key.Name}}</md-option> 
      </md-select> 
     </div> 
     </div> 
    </md-dialog-content> 
    <md-dialog-actions layout="row"> 
     <span flex></span> 
     <md-button ng-click="answer('not useful')"> 
     Not Useful 
     </md-button> 
     <md-button ng-click="answer('useful')"> 
     Useful 
     </md-button> 
    </md-dialog-actions> 
    </form> 
</md-dialog> 

Inspect Element - Screenshot

そのコントローラのレベルに来て、 md-selectにはロードされません。ビューにコレクションを読み込む方法を教えてください。

+0

をあなたは、MD-選択ロードしていないコントローラレベルでくるとはどういう意味ですか?私は 'MD-SELECT'を抱えているダイアログで – Sajeetharan

+0

。コレクションは 'md-select'でロードされていません。また、このスナップショットを参照してくださいhttps://i.stack.imgur.com/6ZJWd.jpg –

+0

@Sajeetharan親切(... [angularJsでコールバックの外側の使い方$ HTTP約束successCallback応答]の –

答えて

0

loadUpData.Designationをループしていますが、常に空の配列[]に設定されているので、何も表示されません。あなたのHTTPService約束の解決に移入されたデータのみがloadUpData.Departmentですが、あなたはHTMLでそれを印刷することはありません。

は、あなたが、それを埋めるよりも、結果でのようなものDesignationを持っている場合:

HTTPService.getPriliminaryRegData().then(function (result) { 
    if (result && result.Result) { 

    $scope.loadUpData = { 
     State: [], 
     Department: result.Result.Department, 
     Designation: result.Result.Designation 
    }; 

    console.log("Inside"); 
    console.log($scope.loadUpData); 

    } 
}); 
関連する問題