[Angularjs]从子元素指令得到角父指令范围

标签: AngularJS
发布时间: 2017/4/30 6:59:11
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我试图从子元素指令访问父指令范围。 请参阅 jsbin

http://jsbin.com/tipekajegage/3/edit

当点击我想要得到价值的产品。

var cpApp = angular.module ('cpApp',[]);

cpApp.directive('cpProduct', function(){
  var link = function (scope, element, attr) {
    console.log('scope.prod '+ scope.prod);
  };

  return {
    link: link,
restrict: 'EA',
scope: {
  prod: '='
    }
  };
});

cpApp.directive('mediaButtons', [function(){

var template = 
'<button ng-click="addToFavoriteList()">get prod from parent</div>' + 
'</button>';

var controller = function($scope){
    var vm = this;
    $scope.addToFavoriteList = function(event){
       console.log($scope.$parent.prod);
      //GET PROD?
    };

};
return {
    template: template,
    restrict: 'E',
    controller: controller,
    scope: true
};
}]);

解决方法 1:

您需要通过在父函数作为要求并将它分配给本地作用域︰

var linkFunction = function (scope, element, attrs, cpProductCtrl) {
    scope.prod=cpProductCtrl.prod;

你还需要在父函数上定义一个控制器就像这样︰

controller: function($scope){
   this.prod=$scope.prod; 
}

然后你可以调用 clickHandler 方法如下所示︰

console.log($scope.prod);

这里是 JS Bin案例错过了任何东西。

官方微信
官方QQ群
31647020