2016-07-05 7 views
1

私はionic divでhrefを使用する際にいくつか問題があります。私はイオン性のリストを使用している場合は、すべての良い働き:UIルータのイオンカードリスト

<ion-item class="item-icon-right" ng-repeat="post in posts track by $index" href="#/app/posts/{{post.id}}" track> 

しかし、私はdiv要素でこれをしようとしたとき - 動作しません:

<div class="list card" ng-repeat="post in posts track by $index" href="#/app/posts/{{post.id}}" track></div> 
+0

代わりに 'ng-href'を使用しないでください。また、 'href'属性が' div'要素にどのような意味を持つと思いますか。 'ion-item'ディレクティブと同じではありません。もし' href'属性が与えられていれば、内容は ''要素([詳細](http://stackoverflow.com/a/29937692/1229023))に表示されます – raina77ow

答えて

1

hrefdiv内部には使用できません。 ng-clickを使用して回避策を講じ、コントローラーで処理できます。お使いのコントローラで

<div class="list card" ng-repeat="post in posts track by $index" ng-click="gotoPost(post.id)" track></div> 

$scope.gotoPost(postId){ 
    $location.path('/app/posts/'+postId); 
} 

はあなたが解決

+0

アイデアありがとうございます))) – KingStakh

+0

@ KingStakhあなたは受け入れる答えを設定してくださいできますか? :)ありがとう。 – adolfosrs

0

をコントローラにあなたが$locationを注入するために定義されます覚えておいてください。この:これに

$scope.gotoPost(postId){ 
    $location.path('/app/posts/'+postId); 
} 

変更:

 $scope.gotoPost = function(postid){ 
     $state.go('app.post', {'postId': + postid}); 
    } 

そして、ちょうど面倒なことができ、すべての場所にルーティングするための機能を宣言私のコントローラ

0

に$状態を追加します。代わりにこの方法を使用してください。

<div class="list"> 
    <a class="card item" 
    ng-repeat="post in posts track by $index" 
    ui-sref="post({id: 'post.id'})" > 
    <div>{{post.content}}</div> 
    </a> 
</div>