2017-04-04 13 views
0

例如我有这样的代码:AngularJS:UI-SREF面板及内链上

<div class="panel" ui-sref="product.details({id: someId})"> 
    <div class="panel-sub-link"> 
    some another event is here 
    </div> 
</div> 

jsfiddle

enter image description here

是有可能以某种方式不调用父UI-SREF中,当我点击子链接元素?这只是一个抽象的例子...更多的细节:例如我有一个面板和一个滑块(带有导航箭头),当我点击箭头时 - 我不需要改变我的状态。我怎样才能做到这一点?

+0

没有必要,如果你正在使用滑块使用SREF:/ –

+0

如果它是一个例子,顺便说一句,你可以单独定义的状态! –

+0

@MajidNayyeri面板应改变状态onClick!滑块,当然,不是 – brabertaser19

回答

1

使用ui-sref不是在状态之间导航的唯一选项。我们还有$state.go对不对?

取代ui-sref,您可以简单地在控制器执行$state.go("product.details...")时添加ng-click。而且,在您不希望访问状态的小组中,您可以使用$event.stopPropogation

事情是这样的:

<div ng-app="myApp" ng-controller="AppController"> 
    <div class="panel" ng-click="navigate(someId)"> 
    <div class="panel-sub-link" ng-click="$event.stopPropagation();"> 
     some another event is here 
    </div> 
    </div> 
</div> 

而且,navigate功能控制器这样的:

$scope.navigate = function(someId) { 
    console.log("going to product details") 
    $state.go("product.details", { 
    id: someId 
    }) 
} 

应该这样做!

working sample example