angularjs
  • controller
  • jasmine
  • karma-runner
  • directive
  • 2015-06-19 102 views 0 likes 
    0

    我需要將方法從控制器測試到指令中。角度指令中的測試訪問控制器

    APP.angular.directive('miniCrud', function() { 
    
        return { 
         restrict: 'E', 
         require:"ngModel", 
         scope: { 
          miniCrudHeader: '@', 
          miniCrudConfig: '=', 
          modelValues : "=ngModel" 
         }, 
         templateUrl: 'templates/mini-crud.html', 
         controller: ['$scope', 'lodash', 'filterFilter', 
          function($scope, _, filterFilter){ 
    
           $scope.vm = { 
            getValue: function(item, index) { 
             var prop = $scope.miniCrudConfig.fields[index].name; 
             return item[prop]; 
            } 
    
           // some other methods 
           } 
          } 
         }] 
        }; 
    }); 
    

    我該如何訪問$ scope.vm.getValue()?

    回答

    0

    我希望你知道如何測試一個指令。由於您的指令創建了一個隔離範圍,因此您必須對由angular.element返回的對象使用isolatedScope函數。

    一旦在測試中創建了一個html指令元素,將其編譯並將其鏈接到範圍。然後,您可以使用編譯元素來獲取隔離範圍

    var s = angular.element(compiledAndLinkedDOM).isolatedScope(); 
    s.vm.getValue(); 
    
    相關問題