AngularJS:为什么我的$ scope不与子指令共享

时间:2014-01-24 08:35:06

标签: javascript angularjs angularjs-directive angularjs-scope

我创建了两个指令,其中一个指针在另一个指令中使用,它只是为了分离问题而创建。

<div class="docinputContainer">
  <textarea></textarea>
  <easy-table></easy-table>
</div>

我已经省略了scope属性,因此我原本认为我可以将keydown事件绑定到我的父指令,然后可以调用来自子指令的$ scope方法:

  // parent 
  element.bind('keydown',function(e){
    $scope.save();          
  });

 // easyTable
 $scope.save = function(){
   // ...
 }

但是,这个方法在我的父指令$ scope。

中是未知的

现在我有一些问题:

  • 这是为什么?这两个指令不应该共享范围吗?

  • 最佳解决方案是什么?

我知道我可以做以下其中一项:

  • 广播活动
  • 使用共享服务触发事件
  • 连接两个指令

我更愿意分享范围。任何帮助表示赞赏

解决方案

我通过将元素绑定到父指令的scope属性,然后绑定easyTable本身的keydown事件而不是父节点来绕过我的问题。

0 个答案:

没有答案