angular.js - angular实现捕获选中项id并将此id作为参数传递给跳转的页面
怪我咯
怪我咯 2017-05-15 17:04:29
0
3
718

在指令中使用ng-repeat循环显示出商品列表

angular.module("goodsInsert",[]) .directive("myDirective",function(){ return{ restrict:'EA', template:'

' +'

' +'

' +'

{{item.name}}

' +'

{{item.price | currency:"¥"}}

已售{{item.saleCount}}件

' +'

{{item.producer.lastname}}

' +'

' +'

' }; });

在controller中定义跳转传参,main为产品列表展示页,design为选中跳转的商品详情页

myApp.controller("mainCtrl", function($scope,$http,goodsService,$state) { var data=goodsService.getNewGoods(); data.then(function(data){ $scope.data=data.results; },function(data){ $scope.error=data; }); $scope.toPage=function(id){ if ($scope.$root.$$phase != '$apply' && $scope.$root.$$phase != '$digest') { $scope.$apply(); } alert(111); $state.go('index.detail',{ID:$scope.data[0].id}); } }); myApp.controller('designCtrl',function($scope,$state,$stateParams){ var receivedId = $stateParams.ID; alert(receivedId); })

此时并不跳转,也不能触发点击事件,将在ng-repeat中添加的ng-click改为toPage(id)可以跳转,但此时传递的参数依然是controller中写死的$scope.data[0].id,不是点击对应的商品
请问各位大神有什么解决办法嘛?

怪我咯
怪我咯

走同样的路,发现不同的人生

모든 응답 (3)
滿天的星座

找到答案啦!!
ng-click=toPage(item.id)
去掉参数中的{{}},其他都不用动,就可以解决哦

    阿神
    angular.module("goodsInsert",[]) .directive("myDirective",function(){ return{ restrict:'EA', template:'

    ' +'

    ' +'

    ' +'

    {{item.name}}

    ' +'

    {{item.price | currency:"¥"}}

    已售{{item.saleCount}}件

    ' +'

    {{item.producer.lastname}}

    ' +'

    ' +'

    ' }; });
    $scope.toPage=function(key){ if ($scope.$root.$$phase != '$apply' && $scope.$root.$$phase != '$digest') { $scope.$apply(); } alert(111); $state.go('index.detail',{ID:$scope.data[key].id}); }
      phpcn_u1582

      额。ng-click中的方法传参,不需要{{}}

        최신 다운로드
        더>
        웹 효과
        웹사이트 소스 코드
        웹사이트 자료
        프론트엔드 템플릿
        회사 소개 부인 성명 Sitemap
        PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!