Ich habe Angular UI Bootstrap Datepicker
heruntergeladen, und ich muss auf ihre Controller für ihre Bereiche zugreifen. Aber ich habe absolut keine Ahnung, wie ich das machen könnte, ohne den Code in Datepicker zu bearbeiten, was meiner Meinung nach nicht so ist, wie es gemacht werden sollte.Wie Daten zwischen Controllern in verschiedenen Modulen freigegeben werden
So habe ich meine eigene app/Modul, myApp
und ich habe einen Controller MyController
, in der ich Zugang müssen UibDatepickerController
und UibDaypickerController
, die in ui.bootstrap.datepicker
app/Modul sind. Und ich möchte den Code in ui.bootstrap.datepicker
Modul nicht ändern.
Dies ist im Grunde the same problem Ich habe zwar vor einiger Zeit gepostet, aber ich habe es herausgefunden, denke ich. (Verbrachte 50 Stunden in diesem: D)
This solution funktioniert nicht, weil Sie Controller nicht injizieren können, wie Sie einen Dienst injizieren können.
Hier ist meine Art von Design:
Controller:
function MyCtrl() {
var vm = this;
vm.dt = new Date();
vm.options = {
...
};
vm.refresh = function() {
//returns initialized value all the time (current date)
console.log(vm.dt);
$("#calendar").data("$uibDatepickerController").refreshView();
}
};
angular.module('myApp')
.controller('MyCtrl', MyCtrl);
HTML:
<div ng-controller="CalendarCtrl as calCtrl">
<pre>Selected date is: <em>{{calCtrl.dt | date:'fullDate' }}</em>
</pre>
<div style="display:inline-block">
<div uib-datepicker="" id="calendar" ng-model="calCtrl.dt" datepicker-options="calCtrl.options"></div>
</div>
<button ng-click="calCtrl.refresh()">Refresh</button>
</div>
Wozu benötigen Sie Zugang? Datum/Tag ausgewählt oder intern? – MPawlak
Ausgewähltes Datum und ich brauche auch das Modul ui.bootstrap.datepicker, um auf meine Variablen in meinem Controller zugreifen zu können. – Dope
Für das Datum, ich würde nur den Wert des Elements an eine Variable in Ihrem Controller binden, für direkten Controller zu Controller Zugriff Niles 'Antwort ist näher, was Sie wollen. Kannst du eine Geige oder etwas Ähnliches posten, damit wir besser verstehen können, wo du hin willst? – MPawlak