我有一个带有ng-Category:
值的指令$app.directive('ngCategory', function() {
return {
link: function(scope, element, attrs) {
var **categoryItem** = attrs.ngCategory ;
}
}
});
我在控制器中使用返回值direcitve:
$app.controller( 'Pedido', ['$scope', '$http' , function( $scope , $http ) {
$http({ method: 'GET', url: 'js/menu/menu.json' }).success( function( data ) {
$scope.posts = data;
$scope.listItens = [],
$scope.minValue ;
...
**categoryItem**
});
}]);
但我不能,任何人都可以帮忙吗?
答案 0 :(得分:0)
您无法在控制器中访问指令的局部变量。为了实现这一点,您需要将一个变量绑定到指令双向。可以使用指令中的ngModel实现此目的:
选项I:
$app.directive('ngCategory', function() {
return {
require: '?ngModel',
link: function(scope, element, attrs,ngModel) {
ngModel.$setViewValue = attrs.ngCategory ;
}
}
});
在Html中
<button ng-category ng-category ="counter">Click Me</button>
选项II
另一种方法是使用这样的指令:
$app.directive('ngCategory', function() {
return {
scope: { title:'=title' },
link: function(scope, element, attrs) {
scope.title = xyz ;
}
}
});
对于这个html:
<button ng-category title ="counter">Click Me</button>