如果你在你的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目的,你可能不得不创建一个对象来解决这样的绑定问题,但是对于任何其他的指令,你应该有常规的逻辑分组。