2015-09-28 180 views
0

我嘗試使用角度與ui路由器。除一種情況外,它工作正常。 我已經創建了一個指向元素,它是頁面的標題。這個元素有一個包含4個鏈接的菜單。這些鏈接取決於當前用戶的ID。當我打電話給我的指令時,這個id被作爲一個屬性傳遞。帶參數的角度ui路由器

ui.js

angular.module('app.ui', 
[ 

]).directive('userHeader', function() 
{ 
    return { 
     restrict : 'E', 
     templateUrl : '/scripts/directives/ui/userHeader.html', 
     controller : function($scope) 
     { 

     }, 
     link : function(scope, element, attributes) 
     { 
      scope.uid = attributes.uid 
     } 
    }; 
}); 

userHeader.html

<md-list layout="row" class="md-whiteframe-z1 no-padding"> 
    <md-list-item class="has-link" layout-align="center center"> 
     <md-item-content md-ink-ripple layout="row" layout-align="center center" ui-sref="userInformations({ id : '{{ uid }}' })"> 
      <div class="inset"> 
       <md-icon md-font-set="material-icons">person</md-icon> 
      </div> 
      <md-tooltip hide-gt-sm>Informations</md-tooltip> 
      <div class="inset" hide-sm>Informations</div> 
     </md-item-content> 
    </md-list-item> 
    <md-list-item class="has-link" layout-align="center center"> 
     <md-item-content md-ink-ripple layout="row" layout-align="center center" ui-sref="userEvents({ id : '{{ uid }}' })"> 
      <div class="inset"> 
       <md-icon md-font-set="material-icons">event</md-icon> 
      </div> 
      <md-tooltip hide-gt-sm>Événements</md-tooltip> 
      <div class="inset" hide-sm>Événements</div> 
     </md-item-content> 
    </md-list-item> 
    <md-list-item class="has-link" layout-align="center center"> 
     <md-item-content md-ink-ripple layout="row" layout-align="center center" ui-sref="userGalleries({ id : '{{ uid }}' })"> 
      <div class="inset"> 
       <md-icon md-font-set="material-icons">photo</md-icon> 
      </div> 
      <md-tooltip hide-gt-sm>Galeries</md-tooltip> 
      <div class="inset" hide-sm>Galeries</div> 
     </md-item-content> 
    </md-list-item> 
    <md-list-item class="has-link" layout-align="center center"> 
     <md-item-content md-ink-ripple layout="row" layout-align="center center" ui-sref="userFriends({ id : '{{ uid }}' })"> 
      <div class="inset"> 
       <md-icon md-font-set="material-icons">group</md-icon> 
      </div> 
      <md-tooltip hide-gt-sm>Amis</md-tooltip> 
      <div class="inset" hide-sm>Amis</div> 
     </md-item-content> 
    </md-list-item> 
</md-list> 

user.html

<user-header user-id="UserInformations.user.id"></user-header> 

我不知道該怎麼牛逼將user-id屬性綁定到我的md-item-content的uu-sref屬性中,以便它可以生成正確的鏈接。

在此先感謝您的幫助

回答

0

如果沒有數據傳遞到指令是你的問題

你的代碼改成這樣

<user-header user-id="{{UserInformations.user.id}}"></user-header> 

link : function(scope, element, attributes) 
{ 
    scope.uid = attributes.userId; 

} 

也要看https://docs.angularjs.org/guide/directive關於如何將數據傳遞到指令範圍。

+0

我在發帖前試過了。它不起作用。當我打開Chrome控制檯時,我看到該id爲空 – T00rk

+0

即使id不爲空,生成的href也不會包含它 – T00rk