Angularjs 如何在加载指令时激发函数?

Angularjs 如何在加载指令时激发函数?,angularjs,Angularjs,我定义该指令: (function () { "use strict"; angular.module("inspectionReview").directive("inspectionsReviewsList", ["config",inspectionsReviewsList]); function inspectionsReviewsList(config) { var directive = { restrict: "E

我定义该指令:

(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>

加载指令时将被激发。

您可以将函数分配给指令的链接属性,如下所示:

link : getValues;
getValues函数如下所示:

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

像这样使用。。。它会起作用的

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;
}
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;
}