Ok, ich war mir nicht sicher, wie ich diese Frage beschreiben sollte, aber lasst es uns versuchen.
Ich habe einen Winkelregler, der abhängig von den angegebenen Werten mit verschiedenen Datenquellen arbeiten soll.
var RowCtrl = function($scope, RowService, $http, $timeout, $compile){
$scope.rows = RowService.getRows();
$scope.columns = RowService.getColumns();
$scope.search = function()
...
$scope.insert = function()
...
etc...
Die RowService hat injizierte mit Zeilen und Spalten Werte zur Verfügung gestellt wird
Es gibt auch einen MailController, die eine Form zeigt, die eine E-Mail zu senden.
In verschiedenen Seiten habe ich einen Code, der mehr oder weniger wie folgt aussieht ein:
app.controller('EmployeesController', function($scope, $controller) {
angular.extend(this, $controller('RowCtrl', {$scope: $scope}));
angular.extend(this, $controller('MailCtrl', {$scope: $scope}));
});
app.value("rows", <?php echo json_encode($empleados); ?>);
app.value("columns", [
{name:"id", view:false, pk:true},
{name:"nombre", view:false, mandatory:true},
{name:"apellidos", view:false, mandatory:true},
{name:"empleado", label:"Empleado", main:true, value:function(){ return this.nombre+" "+this.apellidos; }, create:false, edit:false},
{name:"email", label:"Email", click:function(row){ mailForm({toName:row.nombre+" "+row.apellidos, to:row.email }); }},
{name:"telefono", label:"Teléfono"}
]);
Wenn Sie auf der „E-Mail“ Spalte sehen, habe ich einen Klick Eigenschaft, so kann ich benutzerdefinierte Ereignisse erklären auf verschiedenen Spalten.
Und das ist die Vorlage, wo es verwendet wird:
<div class = 'col' ng-repeat = 'column in columns | filter: {view:"!false", main:"!true"}'>
<a ng-if = 'column.click' ng-click = 'column.click(row)'>{{getCellValue(row, column)}}</a>
<p ng-if = '!column.click'>{{getCellValue(row, column)}}</p>
</div>
Also, es funktioniert so lange habe ich ein Mailformular Funktion definiert, aber was würde ich ist es vorziehen, die MailCtrl kümmern, dies haben Betrieb, so stellt sich die Frage, gibt es eine Weise, die ich so etwas tun kann (Bezug nehmend auf den aktuellen Bereich, wenn die Funktion aufgerufen wird):
...
{name:"email", label:"Email", click:function(row){ $scopeWhereTheFunctionWasCalled.mail() }}
...
Vielen Dank im Voraus, und dont grausam sein, 1st eckiges Projekt :)
ich verstehen mich nicht, was Du versuchst es zu tun. Können Sie diesen Code-Stift abzweigen und ein Beispiel für das Problem machen? http://codepen.io/mkl/pen/GqmKKe?editors=1010 – Michael
Sicher: http://codepen.io/sergio0983/pen/OXmvBj?editors=1010 Wenn Sie auf klicken Attribut in E-Mail-Spalte, definiert es ein klicken Sie auf die Funktion für die Spalte "E-Mail" in jeder Zeile. Was ich will ist, dass ich den einen, den ich im Scope definiert habe, anrufe, aber ich weiß nicht wie das geht. – sergio0983