메뉴를 만들고 싶습니다. 메뉴에는 다양한 항목 수가 있지만 각 항목을 선택하면 다른 기능이 호출됩니다. ng-repeat를 사용하여 템플릿을 기반으로 모든 항목을 표시하는 것이 더 깔끔 할 것 같지만 템플릿에서 다른 함수를 호출하는 방법을 알 수 없습니다. C ++에서는 함수에 대한 포인터를 함수에 대한 변수로 전달할 수 있지만 JavaScript / AngularJS에서 비슷한 것을 찾기위한 검색은 유용한 정보를 제공하지 않습니다. 각 버튼을 개별적으로 코딩하고 템플릿을 복사 / 붙여 넣기 전에이 작업을 수행 할 수있는 방법이 있습니까?
대안 1 :
JS :
$scope.items =
[
{ name: 'item 1', action: 'function1' },
{ name: 'item 2', action: 'function2' },
{ name: 'item 3', action: 'function3' }
];
$scope.execute = function(action) {
$scope[action]();
};
$scope.function1 = function () {
console.log('function1');
);
$scope.function2 = function () {
console.log('function2');
};
$scope.function3 = function () {
console.log('function3');
};
HTML :
<li ng-repeat="item in items" ng-click="execute(item.action)">
{{ item.name }}
</li>
데모 : http://plnkr.co/edit/T6Q3btvk3qbi2SgpIGb6?p=preview
대안 2 :
JS :
$scope.items =
[
{ name: 'item 1', action: function () { console.log('function 1');} },
{ name: 'item 2', action: function () { console.log('function 2');} },
{ name: 'item 3', action: function () { console.log('function 3');} }
];
$scope.executor = function(item) {
item.action();
};
HTML :
<li ng-repeat="item in items" ng-click="executor(item)">
{{ item.name }}
</li>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다