AngularJS:修改ng-include中的父范围
我找到了这个线程,其中包含ng-07的范围不会修改其父范围的OP的
original fiddle.
其中一条回复表明:
这似乎工作.为什么是这样? 解决方法
由于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? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |