2015-04-16 27 views
2

我在指令中使用了md-sidenav。我希望這是一個可重複使用的組件,任何一方都有可能。我在指令中關閉和打開按鈕:是否可以在md-sidenav中使用md-component-id中的綁定?

$mdSidenav($scope.header).close() 
$mdSidenav($scope.header).open() 

如果我再硬編碼在sidenav的MD-組件的ID名稱,以便$ scope.header匹配:

<md-sidenav class="md-sidenav-left md-whiteframe-z2" md-component-id="Tasks"> 

然後以上的作品,但我希望它是靈活的:

<md-sidenav class="md-sidenav-left md-whiteframe-z2" md-component-id="{{header}}"> 

,這是行不通的。也許這是一個角度材料的功能要求,以支持這一點?這個問題有沒有簡單的解決方法?

回答

1

這似乎工作正常。 Example(使用角1.4,角材料0.8.3)

HTML:

<body ng-controller="AppController" ng-init="init()"> 
<md-sidenav class="md-sidenav-left md-whiteframe-z2" md-component-id="{{header}}"> 
    <h2> 
    <span>Value of $scope.header: </span> 
    <span ng-bind="header"></span> 
    </h2> 
    <h2> 
    <span>Value of md-component-id on sidenav: </span> 
    <span ng-bind="md_component_id"></span> 
    </h2> 
</md-sidenav> 

控制器:

angular.module 'App' 
    .controller 'AppController', ($scope, $timeout) -> 
    $scope.header = 'test' 

    $scope.init = -> 
     $timeout -> 
     $scope.md_component_id = angular.element('md-sidenav').attr('md-component-id') 
     , 500 
相關問題