2017-04-04 12 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