代码之家  ›  专栏  ›  技术社区  ›  user9130953

如何在指令中获取参数

  •  -1
  • user9130953  · 技术社区  · 6 年前

    我有一个按钮,当我点击这个函数时,我需要调用一个指令。 为此,我编写了以下代码。在创建指令之前,有一个ng change函数。我删除了ng change并保留了如下指令:

    <button  upload-file="selectedDocumentName,loanFolderNumber" ><!-- ng-click="uploadFile(selectedDocumentName,FolderNumber)" -->
    

    我怎么能接受那些论点呢 selectedDocumentName,FolderNumber 在我的指令中。我尝试了以下方法,但我没有得到这些值。

    指令:

    app.directive('uploadFile',['documentService',function(documentService){
        return {
            restrict: 'AE', 
            scope: {
                selectedDocumentName: '=',
                FolderNumber: '=',
            },controller: function($scope){
                $scope.selectedDocumentName;
            },
            link : function($scope,element,attrs){
    
                element.on('click',function(e){
                })
    
            }
        }
    }]);
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   Nandita Sharma    6 年前

    试试这个

    <button upload-file obj="obj">A</button>
    
        var myApp = angular.module('myApp',[]);
    
    
        myApp.directive('uploadFile', function() {
            return {
                restrict: 'AE', 
                scope: {
                    obj1: '='
                },controller: function($scope){
                    $scope.obj2 = JSON.parse(JSON.stringify($scope.obj1))
                    console.log($scope.obj2.selectedDocumentName);
                    $scope.obj2.selectedDocumentName = "DEF";
                     console.log($scope.obj2.selectedDocumentName);
                },
                link : function($scope,element,attrs){
    
                    element.on('click',function(e){
                    })
    
                }
            }
        });
    
    
        myApp.controller('MyCtrl', function ($scope) {
           $scope.obj = {selectedDocumentName : "ABC",loanFolderNumber : "DEDF"};
        });
    

    fiddle