2016-07-06 102 views
1

我有一個函數指令,我只需單擊一個按鈕即可訪問該函數。我想要做的是從功能訪問$scope變到另一個指令,並在該指令的觀點從另一個指令訪問指令範圍變量

這裏使用它是針對中有定義的函數指令代碼:

$scope.footerLinkClicked = function (item2) { 
    $scope.myvalue = true; 
    console.log("parameter received :"); 

    $scope.item1 = item2; 
    console.log($scope.item1); 

    $rootScope.$broadcast('item1',$scope.item1); 
} 

在我的其他指令的觀點,我想這樣做

<div class="panel panel-primary" ng-show="myvalue"> 

現在,我要的是存取權限myvalue的變量在另一個指令。有什麼辦法做到這一點?

在此先感謝!

+1

[從另一個指令訪問一個指令的範圍變量]的可能的複製指令腳本(http://stackoverflow.com/questions/28140817/accessing- a-directives-scope-variable-from-another-directive) – Matheno

+0

您可以通過使用父控制器分配的變量或服務來完成此操作。 – Mehraban

+0

有點像廣播myvalue給父控制器,然後從那裏訪問它? – blaa

回答

0

它更好的兩個使用對象,而不是原始變量。

<one-d my-value="objVal"></one-d> 


<two-d my-value="objVal"></two-d> 

你應該使用這樣

return { 
    scope: { myValue: '=' }, 
    link: function(scope, ele, attr) { 

     scope.footerLinkClicked = function(item2) { 
      scope.myValue.data = true; 
      scope.item1 = item2; 

     } 

     } 
    }