2016-07-06 129 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; 

     } 

     } 
    }