最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - AngularJS - {{$index}} within onclick - Stack Overflow

programmeradmin1浏览0评论

I'm attempting to pile {{$index}} from a ng-repeat inside an onclick. Setup looks like this.

<div ng-repeat="stuff in things" >
<a href="#" onclick="superDuperFunction({{$index}});">Foo</a>
</div>

Except, I'm getting a console error instead of it {{$index}} piling.

Error: [$pile:nodomevents] /$pile/nodomevents
    at Error (<anonymous>)
    at http://localhost:3000/lib/angular.min.js:6:453
    at pre (http://localhost:3000/lib/angular.min.js:57:54)
    at S (http://localhost:3000/lib/angular.min.js:49:122)
    at h (http://localhost:3000/lib/angular.min.js:43:59)
    at h (http://localhost:3000/lib/angular.min.js:43:76)
    at h (http://localhost:3000/lib/angular.min.js:43:76)
    at h (http://localhost:3000/lib/angular.min.js:43:76)
    at http://localhost:3000/lib/angular.min.js:42:114
    at http://localhost:3000/lib/angular.min.js:183:186 <a href="#" onclick="superDuperFunction({{$index}});">

What am I doing wrong? Any help is appreciated!

I'm attempting to pile {{$index}} from a ng-repeat inside an onclick. Setup looks like this.

<div ng-repeat="stuff in things" >
<a href="#" onclick="superDuperFunction({{$index}});">Foo</a>
</div>

Except, I'm getting a console error instead of it {{$index}} piling.

Error: [$pile:nodomevents] http://errors.angularjs/undefined/$pile/nodomevents
    at Error (<anonymous>)
    at http://localhost:3000/lib/angular.min.js:6:453
    at pre (http://localhost:3000/lib/angular.min.js:57:54)
    at S (http://localhost:3000/lib/angular.min.js:49:122)
    at h (http://localhost:3000/lib/angular.min.js:43:59)
    at h (http://localhost:3000/lib/angular.min.js:43:76)
    at h (http://localhost:3000/lib/angular.min.js:43:76)
    at h (http://localhost:3000/lib/angular.min.js:43:76)
    at http://localhost:3000/lib/angular.min.js:42:114
    at http://localhost:3000/lib/angular.min.js:183:186 <a href="#" onclick="superDuperFunction({{$index}});">

What am I doing wrong? Any help is appreciated!

Share Improve this question asked Nov 14, 2013 at 20:58 DustinDustin 6,29719 gold badges64 silver badges93 bronze badges 3
  • Why are you using an inline JS handler when you're using Angular? – tymeJV Commented Nov 14, 2013 at 21:01
  • Honestly, I'm still learning the ups and downs of Angular. Just couldn't find proper documentation on a situation like this. – Dustin Commented Nov 14, 2013 at 21:07
  • ng-click is definitely the way you want to go, then you define the function in the controller such as $scope.myFunc = function(param) { – tymeJV Commented Nov 14, 2013 at 21:10
Add a ment  | 

1 Answer 1

Reset to default 7

Try <a href="#" ng-click="superDuperFunction($index)">Foo</a>.

Docs/examples:

  • http://docs.angularjs/api/ng.directive:ngClick
  • http://docs.angularjs/guide/scope
发布评论

评论列表(0)

  1. 暂无评论