【问题标题】:Get dynamic scope variable value angularjs获取动态范围变量值angularjs
【发布时间】:2015-08-08 02:04:08
【问题描述】:

我有一个对象数组,其中包含范围变量名称的数量。之前已经设置了所有范围变量值。

像这样:

$scope.myarray = [{'id':'myname1'},{'id':'myname2'}];
$scope.myname1 = 'John';
$scope.myname2 = 'Rick';

现在,如果我想获取 'myarray' 的 'id' 内的范围变量的值,我应该怎么做?
这个我已经试过了

var getMeMyValue = $scope[myarray[0]];

类似的东西,但它没有帮助。
我在this example 看到了如何动态设置范围变量
但我对如何动态获取价值一无所知

请帮帮我,谢谢!!

附:在这里,我动态获取我的范围变量,因此我无法直接访问它们以获取它们的值

【问题讨论】:

  • 它工作$scope.myarray = ['myname1','myname2']; var getMeMyValue = $scope[myarray[0]];
  • 您能展示一下您是如何尝试的工作示例,以及您遇到了什么错误吗?
  • 或者你能在jsfiddle.net创建一个样本吗?
  • 感谢@grundyGrundy,考虑。实际上,我有根据动态创建的分配给几个 html 组件(文本框、组合框等)的范围变量,并且我将 id 设置为与范围变量相同。我还将这些变量存储在上面显示的数组中。
  • 你能提供jsfiddle或plunker吗?现在不太清楚你的代码哪里出了问题

标签: javascript angularjs angularjs-scope


【解决方案1】:

这将为您动态获取值:

var getMyValue = $scope[$scope.myarray[0].id];

【讨论】:

  • 我认为这会解决我的问题。谢谢@brocco,对不起,我不能给你竖起大拇指......没有足够的声誉:P
  • 没问题,如果这确实解决了您的问题,请将其标记为已接受的答案(即使您因代表无法投票)
【解决方案2】:

请查看http://plnkr.co/edit/ZwwuKRVwgD74ufY2GmB8?p=preview

控制器 -

var app = angular.module('myApp', [ ]);

app.controller('myController', function($scope) {
  $scope.myarray = [{'id':'myname1'},{'id':'myname2'}];
  $scope.myname1 = "John;"
  var getMeMyValue = $scope[$scope.myarray[0].id];
  console.log(getMeMyValue);

});

【讨论】:

  • 你的答案和@Brocco的答案一样
  • 哦是的..我没有检查。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-23
  • 2017-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多