Widziałem wiele z tych pytań, ale nie znalazłem rozwiązania, które działa. tutaj jest skrzypce, które nie działa, ale powinno.Przekaż argumenty od dyrektywy do funkcji kontrolera
http://jsfiddle.net/cdparmeter/j2K7N/2/
Kontroler:
$scope.foo = function (textArray) {
console.log(textArray)
};
dyrektywa:
return {
restrict: 'E',
replace: 'true',
scope: {
methodToCall: '&method'
},
template: "<div>
<input ng-model='textToPush'/>
<button ng-click='pushText'>Push</button>
<button ng-click='finish'>Finish</button>
</div>",
link: function (scope, element, attrs) {
scope.paragraphs = [];
scope.pushText = function() {
scope.paragraphs.push(scope.pushText);
scope.pushText = "";
}
scope.finish = function() {
scope.methodToCall(scope.paragraphs)
}
}
}
HTML:
<div ng-app="MyApp">
<div ng-controller="MyController">
<container data-method="foo">
</div>
</div>
buduję tablicę wewnątrz mojego dyrektywy, który wymaga niestandardowego ha ndling w kontrolerze zakresu nadrzędnego. Wiem, że mogę rzucić zegarek w zakresie nadrzędnym na modelu, który przechodzę do mojej dyrektywy, ale to wydaje się hackowe i brudne. jakieś sugestie?