我需要测试从控制器到指令的方法。
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 :(得分:0)
我希望你知道如何测试指令。由于您的指令创建了一个隔离范围,因此您必须对angular.element返回的对象使用isolatedScope
函数。
在测试中创建html指令元素后,编译它并将其链接到作用域。然后,您可以使用已编译的元素来获取隔离范围
var s = angular.element(compiledAndLinkedDOM).isolatedScope();
s.vm.getValue();