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

AngularJS:修改ng-include中的父范围

发布时间:2020-12-17 17:44:48 所属栏目:安全 来源:网络整理
导读:我找到了这个线程,其中包含ng-07的范围不会修改其父范围的OP的 original fiddle. 其中一条回复表明: It is ugly and unpredictable,so i recommend you to wrap your data in an object variable: 07001 这似乎工作.为什么是这样? 解决方法 由于JavaScript
我找到了这个线程,其中包含ng-07的范围不会修改其父范围的OP的 original fiddle.

其中一条回复表明:

It is ugly and unpredictable,so i recommend you to wrap your data in an object variable: 07001

这似乎工作.为什么是这样?

解决方法

由于JavaScript原型继承的工作方式,对象变量起作用. ngInclude创建自己的子范围.此子范围原型继承自父范围.

在JavaScript中,当我们在子范围内编写类似$scope.x = 22的内容时,这会在子$scope上创建一个x属性并为其赋值22 – 这里不会查询原型链,因此父$scope没看到发生了什么.

当我们在子范围上编写类似$scope.someObj.prop1 = 22的内容时,如果JavaScript没有在子$scope上找到someObj对象,它会查询原型链,并且链中的下一个$scope是父级$范围.如果parent $scope上存在someObj,则修改父$scope.

正如我在评论中提到的,以下SO问题和答案更详细地解释了这一点(有很多图片):What are the nuances of scope prototypal / prototypical inheritance in AngularJS?

(编辑:李大同)

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

    推荐文章
      热点阅读