加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

修改AngularJS中链接函数的范围

发布时间:2020-12-17 17:12:19 所属栏目:安全 来源:网络整理
导读:通常在AngularJS的所有示例/源代码中,范围的修改都在控制器中完成.在我的指令中,我需要从另一个指令(或它的范围)获取一些信息并将其放入范围(在指令模板中可见).由于此信息对于此指令的所有实例都很常见,因此使用范围绑定对我来说听起来不太好. 所以我找到的
通常在AngularJS的所有示例/源代码中,范围的修改都在控制器中完成.在我的指令中,我需要从另一个指令(或它的范围)获取一些信息并将其放入范围(在指令模板中可见).由于此信息对于此指令的所有实例都很常见,因此使用范围绑定对我来说听起来不太好.

所以我找到的唯一解决方案是在链接函数中修改实例范围:

link: function(scope,element,attr,parentCtrl) {      
  scope.data = parentCtrl.someData;      
}

此解决方案有效. Plnkr example

问题:根据AngularJS哲学/风格来修改链接功能的范围还是有其他解决方案?

解决方法

由于您在指令中创建了隔离范围(在示例中为plnkr),并且您希望允许父项在范围层次结构中“某处”(根据您对@MathewBerg的注释),我相信您唯一的选择是使用用于修改范围的链接功能.

(我想你可以在你的MainCtrl上定义只有子指令应该调用的方法,但强制执行它会很麻烦并打破封装).

那么,为了回应@MathewBerg已经说过的,是的,修改指令/链接功能中的范围.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读