AngularJs - связь между контроллером и директивой

Например;

GetSwatchCartListFunc: как получить доступ к этому методу напрямую из директивы

homeController.js

(function (App) {
    var Home = function Home($scope, MemberService) {


        $scope.GetSwatchCartListFunc = function (patternDetailLineId) {
            MemberService.GetSwatchCartList(patternDetailLineId).then(function (res) {
                console.info(res.data);
                if (res.data.status === ServiceResulState.Success) {
                    $scope.SwatchCartListData = res.data.resultList;
                    $('#swathcartList').modal('show');
                } else if (res.data.status === ServiceResulState.Fail) {
                    toastr.warning(res.data.message);
                    $('#userLoginModal').modal('show');
                }
            });
        };


    };

    Home.$inject = ["$scope", "MemberService"];

    App.controller("HomeController", Home);
})(App);

directive.js

(function (App) {
App.directive("ngPatternPre", ['toastr', function (toastr) {
    return {
        restrict: 'E',
        templateUrl: '/views/Directives/NgPattern.html'    
        }
    };
}]);})(App);

NgPattern.html

<a ng-click = "SwatchCartList(pId)" title = "Add"><i class = "ti-Line-Gallery"></i></a>

Возможный дубликат AngularJS - передать функцию директиве

Lex 13.12.2018 21:19
Знаете ли вы, что директивы являются одной из самых мощных и универсальных функций Angular?
Знаете ли вы, что директивы являются одной из самых мощных и универсальных функций Angular?
Директивы позволяют расширять HTML новыми элементами и атрибутами и даже создавать собственные структурные директивы для манипулирования DOM. С...
Разница между Angular и React
Разница между Angular и React
React и AngularJS - это два самых популярных фреймворка для веб-разработки. Оба фреймворка имеют свои уникальные особенности и преимущества, которые...
1
1
34
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

следующее изменение требуется для решения проблемы в directive.js

directive.js

(function (App) {
App.directive("ngPatternPre", ['toastr', function (toastr) {
    return {
        restrict: 'E',
        templateUrl: '/views/Directives/NgPattern.html',
        link: function (scope, element, attrs) {                

            scope.SwatchCartList = function (pId) {
                scope.GetSwatchCartListFunc(pId);                   
            };

        }
    };
}]);})(App);

Другие вопросы по теме