To jest kontroler głównego szablonu:
app.controller('OverviewCtrl', ['$scope', '$location', '$routeParams', 'websiteService', 'helperService', function($scope, $location, $routeParams, websiteService, helperService) {
...
$scope.editWebsite = function(id) {
$location.path('/websites/edit/' + id);
};
}]);
To jest dyrektywa:
app.directive('wdaWebsitesOverview', function() {
return {
restrict: 'E',
scope: {
heading: '=',
websites: '=',
editWebsite: '&'
},
templateUrl: 'views/websites-overview.html'
}
});
Oto jak dyrektywa jest stosowana w głównym szablonie:
<wda-websites-overview heading="'All websites'" websites="websites" edit-website="editWebsite(id)"></wda-websites-overview>
a ta metoda jest wywoływana z szablonu dyrektywy (website-overview.html):
<td data-ng-click="editWebsite(website.id)">EDIT</td>
PYTANIE: Po kliknięciu EDYTUJ w konsoli pojawia się ten błąd:
TypeError: Nie można użyć operatora „in” do wyszukania „editWebsite” w 1
Czy ktoś wie, co tu się dzieje?