如果你在你的AngularJS模型中没有使用。(点),你做错了吗?
我记得在AngularJS的视频中看到这个着名的引用,应该总是使用a。 (点)在您的模型。
那么我正试图按照我说的这个说法
var item = {} item.title = "Easy Access to support"; item.available = true; item.price = 31.67;
所以这在我看来很好
{{ item.title }} {{ item.available }}
我正在使用一个点,所以我认为这是好的。
但我有一些属性,我不认为模型的一部分,但也许我错了。 例如,我有一个属性,我用来启用或禁用一个按钮,使用ng-disable,我已经使用点格式输入。 它基本上是这样进入的
$scope.disableButton = true;
和我一样使用它
ng-disable="disableButton"......
我应该使这个模型“项目”的一部分? 或者创建另一个js对象,所以我可以使用点来保存这个属性?
任何人都知道,如果这是可以接受的,或者我应该做的一切(即使这些简单的属性)。
谢谢
“模型中应该总是有一个点”是指ngModel
。 这个指令是双向绑定的。 如果双向绑定到一个基元(比如你的情况下的一个布尔值),setter将把它设置在当前的作用域上,而不是它定义的作用域,当你拥有一个大的用户界面时,与很多子范围接口。 它不涉及其他指令,如ngDisable
。 有关此特定问题的更多详细信息,请参阅此解释 。
示例场景:具有$scope.foo = "bar"
的父范围,以及具有<input type="text" data-ng-model="foo">
的子范围。 它最初会显示bar
,但是一旦用户改变了这个值,一个foo
就会在子范围上创建,绑定将会读写这个值。 父母的foo
将仍然是bar
。 希望总结一下。
所以对于ngModel
目的,你可能不得不创建一个对象来解决这样的绑定问题,但是对于任何其他的指令,你应该有常规的逻辑分组。