Wie Zugriff auf $scope
von einem UI-Grid-Zelle Vorlage? Hier ist mein Controller-Code:AngularJS: Wie kann man aus der UI-Grid-Zellenvorlage auf den Bereich zugreifen?
app.controller('MainCtrl', ['$scope', function ($scope) {
// i want to reference this from a cell template.
$scope.world = function() { return 'world'; };
$scope.gridOptions = {
data: [
{ id: "item1" },
{ id: "item2" }
],
columnDefs: [
{
field: 'id',
// world() is never called and is not displayed.
cellTemplate: '<div>{{ "hello " + world() }}</div>'
}]
};
}]);
Sehen sie in Aktion hier: http://plnkr.co/edit/WYXeQShHWKDYDs4MIZnP?p=preview
Ich würde erwarten, Zellinhalte „Hallo Welt“ zu zeigen, aber sie zeigen nur „Hallo“.
von FilterHeaderTemplate musste ich 'col.grid.appScope verwenden. .myFunction() ' –
user2171669
Was ist genau? In dem obigen Beispiel? –
Ich kann nicht sicher sein, aber der Kommentar mit scheint für diejenigen Sinn, die die "Controller as" -Syntax verwenden. Wenn Sie Ihren Controller so eingerichtet haben, dass er als Alias verfügbar ist (üblicherweise: Controller als vm), müssen Sie den Alias in Ihre Kette aufnehmen, z. B .: grid.appScope.vm.myMethod(). HTH –
FOR