我从这个网站阅读文章的时候弄糊涂了嵌套的范围(陷阱#5):很难理解在AngularJs
http://thenittygritty.co/angularjs-pitfalls-using-scopes
http://jimhoskins.com/2012/12/14/nested-scopes-in-angularjs.html
我的问题是:
这个场景非常类似于两个在普通js中有相同名称的变量,一个在本地定义(例如在嵌套函数中)并且在e全球定义(例如windows.onload),所以本地的总是覆盖全球?
我有点理解$ scope.variable应该引用一个包含值的模型,但是如果它们具有相同的名称而不考虑点语法,它并不会真正影响结果。我不明白,如果把“。”点会导致上面的OUTPUT VALUE中的差异。例如,用{{user.name}}替换它们。这个最佳实践如何工作?
从网站下面的代码试图在于向世人证明如果第二{{名}}的变化,第{{名}}不会改变。
HTML:
<span>Outside Controller: Your name is: {{username}}</span>
<div ng-controller="SignupController">
<span>Inside Controller: Your name is: {{username}}</span>
<fieldset legend="User details">
<input ng-model="username" />
</fieldset>
</div>
JS:
var app = angular.module('app', []);
app.controller('SignupController', function($scope){});
对这个wiki的范围继承概念仍然没有更好的解释https://github.com/angular/angular.js/wiki/Understanding-Scopes – Chandermani