2015-10-24 24 views
0

我定義這個指令:如何使功能時指令加載到被解僱?

(function() { 
    "use strict"; 

    angular.module("inspectionReview").directive("inspectionsReviewsList", ["config",inspectionsReviewsList]); 

    function inspectionsReviewsList(config) { 
     var directive = { 
      restrict: "E", 
      scope: { 
       objectId: "=", 
       region: "=" 
      }, 


      templateUrl: config.baseUrl + "app/InspectionReview/templates/inspectionsReviewsList.templ.html", 
      controller: "inspectionsReviewsListController", 
      controllerAs: "list" 
     } 
     return directive; 
    } 

    angular.module("inspectionReview").controller("inspectionsReviewsListController", ["$scope", 
                         "$uibModal", 
                         "inspectionReviewServices", 
                         "toaster", 
                         inspectionsReviewsListController]); 

    function inspectionsReviewsListController($scope, $uibModal, inspectionReviewServices, toaster) { 


     //===============================check status of site object================================ 
     $scope.$watch('inspectionReviews', function() { 
      _.each($scope.inspectionReviews, function (value, key) { 
       if (!value.IsNormal) { 
        return $scope.status = false; 
       } 
       $scope.status = true; 
      }) 
     }, true) 

     //===================================modal window============================================ 


     $scope.open = function (size) { 
      var modalInstance = $uibModal.open({ 
       animation: $scope.animationsEnabled, 
       templateUrl: 'app/siteObjects/templates/myModalContent.tmpl.html', 
       controller: 'myModalWindowController', 
       size: 'sm', 
       resolve: { 
        items: function() { 
         return $scope.items; 
        } 
       } 
      }); 

      modalInstance.result.then(function (selectedItem) { 
       $scope.selected = selectedItem; 
      }, function() { 
       //$log.info('Modal dismissed at: ' + new Date()); 
      }); 
     }; 
    } 
})(); 

在視圖:

<inspections-reviews-list id="object.Id"></inspections-reviews-list> 

我怎樣才能讓這個功能:

  inspectionReviewServices.getValues(objectId).then(function (result) { 
       $scope.inspectionReviews = result.data; 
      }); 

加載指令時,當被解僱。

回答

0

您可以指定該指令的鏈接屬性的函數,如下所示:

link : getValues; 

的功能GetValues方法是這樣的:

function getValues(scope, element, attributes) { 
    inspectionReviewServices.getValues(attributes.id).then(function (result) { 
      scope.inspectionReviews = result.data; 
     }); 
} 
+0

是什麼元素? – Michael

0

使用這樣的...它會工作..

function() { 

angular.module("inspectionReview").directive("inspectionsReviewsList", ["config",inspectionsReviewsList]); 

function inspectionsReviewsList(config) { 
    var directive = { 
     restrict: "E", 
     scope: { 
      objectId: "=", 
      region: "=" 
     }, 
     link : function getValues(scope, element, attributes) { 
       inspectionReviewServices.getValues(attributes.id).then(function (result) { 
        scope.inspectionReviews = result.data; 
       }); 
     }, 

     templateUrl: config.baseUrl + "app/InspectionReview/templates/inspectionsReviewsList.templ.html", 
     controller: "inspectionsReviewsListController", 
     controllerAs: "list" 
    } 
    return directive; 
}