当AngularJS变量在$scope中定义时使用对象名
Using object name when AngularJS variable is defined in $scope
假设我们在AngularJS中有一个NameController。你可以这样定义变量:
this.name = 'Joe';
或:
$scope.name = 'Joe';
我总是喜欢用对象表示法来调用所有变量:
<form ng-controller="NameController as nameCtrl">
<input type="text" ng-model="nameCtrl.name">
</form>
只有当我在控制器中使用' This '符号时才有效。当我使用$scope
时,我必须调用'name'而不使用nameCtrl
。让它工作
当然,我在这里遗漏了一些非常基本的基础知识,但在做了一些研究之后,我仍然卡住了。如何在HTML代码中保留尽可能多的对象命名?
一次只能使用一个方法,详见此链接https://docs.angularjs.org/api/ng/directive/ngController
下面包含两种不同的声明样式:
使用ng-controller="SettingsController1 as settings"将方法和属性直接绑定到控制器上
- 向控制器中注入$scope: ng-controller="SettingsController2"
Angular js有一个特性ControllerAs
。这就是你现在使用的。你只是引用你的nameCtrl
对象到NameController
对象。并且您正在使用控制器对象的克隆访问name值。假设this
只是指向$scope
的指针
这里有一个很好的技术介绍:
如果你想在任何地方使用对象,你可以使用Angular Service
注入到你的控制器,这样你就可以很容易地从每个控制器的服务中调用任何对象。
相关文章:
- 在Javascript服务器/客户端中共享对象定义
- 高级布线和单个对象定义
- Javascript 对象定义
- 是否可以为数组中的每个对象定义事件侦听器
- 如何在多个文件中拆分 JavaScript 对象定义
- 将对象定义为仅包含特定类型的元素
- 如何在 javascript 中为 dom 对象定义函数
- 您可以在 JavaScript 中的私有方法中访问对象定义的属性吗?
- 在 ecma-script-6 中将对象定义为常量
- 在 JavaScript 中使用对象定义局部变量
- 如何在 JS 对象定义中引用字段
- 属性的对象定义属性设置器
- Three.js对象定义未定义
- 对象定义有两种方式-有什么区别
- JavaScript-如何在对象定义中定义属性
- 对象定义中的方括号表示法
- 仅为{..}对象定义原型
- 在对象定义中的javascript Repeating属性中(在大括号内).这是个错误吗
- 特殊的JavaScript结构:对象定义中的对象类型变量
- 在javascript对象定义中连接字符串