นี่คือตัวควบคุมของเทมเพลตหลัก:
app.controller('OverviewCtrl', ['$scope', '$location', '$routeParams', 'websiteService', 'helperService', function($scope, $location, $routeParams, websiteService, helperService) {
...
$scope.editWebsite = function(id) {
$location.path('/websites/edit/' + id);
};
}]);
นี่คือคำสั่ง:
app.directive('wdaWebsitesOverview', function() {
return {
restrict: 'E',
scope: {
heading: '=',
websites: '=',
editWebsite: '&'
},
templateUrl: 'views/websites-overview.html'
}
});
นี่คือวิธีใช้คำสั่งในเทมเพลตหลัก:
<wda-websites-overview heading="'All websites'" websites="websites" edit-website="editWebsite(id)"></wda-websites-overview>
และนี่คือเมธอดถูกเรียกจากเทมเพลตคำสั่ง (เว็บไซต์ภาพรวม.html):
<td data-ng-click="editWebsite(website.id)">EDIT</td>
คำถาม: เมื่อคลิก EDIT ข้อผิดพลาดนี้จะปรากฏในคอนโซล:
TypeError: ไม่สามารถใช้ตัวดำเนินการ 'in' เพื่อค้นหา 'editWebsite' ใน 1
มีใครรู้บ้างว่าเกิดอะไรขึ้นที่นี่?