Angularjs 在控制器中使用指令的值
我有一个指令,它采用ng类别的值:Angularjs 在控制器中使用指令的值,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我有一个指令,它采用ng类别的值: $app.directive('ngCategory', function() { return { link: function(scope, element, attrs) { var **categoryItem** = attrs.ngCategory ; } } }); 我在控制器中使用返回值direcitve: $app.cont
$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**
});
}]);
但是我不能,有人能帮忙吗?您不能访问控制器中指令的局部变量。为了实现这一点,需要将变量双向绑定到指令。可以使用指令中的ngModel实现这一点,如下所示:
$app.directive('ngCategory', function() {
return {
scope: { title:'=title' },
link: function(scope, element, attrs) {
scope.title = xyz ;
}
}
});
备选案文一:
$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>
为此,请使用html:
<button ng-category title ="counter">Click Me</button>
该变量是指令中链接函数的局部变量,因此您将无法在其他任何地方使用它。此外,您不应该将自定义指令命名为以ng开头。你想用这个代码做什么?您的控制器是否与指令有关?你能把值放在作用域上吗?但我如何在控制器内部使用?你正在把$scope变量计数器传递给指令。同样的方法也可用于controller@Mayrink如果您需要获得每个类别的最低值,您可以使用角度过滤器,而不是这里的指令