Angular中的动态作用域变量名
Dynamic Scope Variable Names in Angular
我有很多字段/模型,其中放置在它们上的逻辑将在控制器中相同,除了范围变量名称。我想避免巨大的IF语句,如果可能的话,通过追加数字到范围变量名。我可以在jquery等中做到这一点,但如何在Angular中做到这一点?
例如,我有$scope。$scope.search2。我更希望是$scope。搜索+ id。这可能吗?在控制器中我有
$scope.getresults= function() {
if ($scope.search1) {
$http.jsonp('http://api.com/', {
params: {
query: $scope.search1
}
if ($scope.search2) {
$http.jsonp('http://api.com/', {
params: {
query: $scope.search2
}}}
我宁愿能做:
$scope.getresults= function(param) {
$http.jsonp('http://api.com/', {
params: {
query: $scope.search + param
}}
,但这显然不起作用。
javascript中object内部的属性可以通过两种方式访问,点表示法(object.key)或括号表示法object['key'],在后一种方式中,您可以使用表达式或动态变量名称,如object[expression],因为$scope是一个javascript对象,使用括号表示法访问动态值的范围将是很棒的,你正在传递这样:
$scope.getresults= function(param) {
$http.jsonp('http://api.com/', {
params: {
query: $scope['search' + param]
}}
你总是可以使用对象表示法。
$scope['search' + param]
相关文章:
- 当我更新另一个作用域变量时,作用域变量会自动更新
- 如何在隔离作用域指令中访问此作用域变量
- 正在向构造函数添加作用域变量
- 如何在angularjs中将多个作用域变量传递到自定义指令中
- 作用域变量未从状态父控制器继承到子控制器
- 插槽:访问作用域变量
- 在另一个作用域变量中使用AngularJS作用域变量
- 在Angular.js中通过检查作用域变量进行过滤
- 如何更新作为属性传入的作用域变量
- Node.js中的垃圾收集作用域-变量将保持设置状态多长时间
- 从$http.get调用更新Angular作用域变量
- AngularJS ui路由器:访问子作用域变量
- 访问AngularJS中函数中的作用域变量
- 为什么Angular 1.5双向绑定在将作用域变量传递给组件绑定时失败
- 修改作用域变量后,未更新作用域绑定
- 控制器作用域变量在刷新之前未加载
- 将Angular作用域变量的字符串描述传递给指令
- 将内部作用域变量绑定到外部“模板”
- 无法在 $.post 回调中设置作用域变量
- Angular中的动态作用域变量名