【问题标题】:Is it possible to pass $scope.value inside json object in Angularjs controller?是否可以在 Angularjs 控制器的 json 对象中传递 $scope.value ?
【发布时间】:2017-06-09 19:45:24
【问题描述】:

我有一个定义了 json 对象的 var 数据。我想从 html 动态更改 json 字段并调用略有不同的 POST API。 例如:

var data={
    $scope.value:'25',
    'speciality':$scope.speciality,
    'field2':'something',
    'field3':'something else'
}

如何更改 $scope.value 可以有 10 到 15 个不同的值。 我试过了,

var example=$scope.value;
var data={
  example:'25',
  'speciality':$scope.speciality,
  'field2':'something',
  'field3':'something else'
}
But this too doesn't work and sends example as json field.

感谢任何帮助。 谢谢

【问题讨论】:

  • $scope.value 到底是什么?一个字符串数组?您是否总是将密钥设置为“25”?

标签: javascript html angularjs json api


【解决方案1】:

不,您不能拥有动态更改的密钥。最好的办法是在需要时构建对象:

var obj = {};
obj[$scope.value] = 25;
...

【讨论】:

    【解决方案2】:

    如果要使用变量作为属性名,则必须先创建一个对象,然后使用方括号表示法分配数据。

    var data = {   
            'speciality':$scope.speciality,
            'field2':'something',
            'field3':'something else'
        }
    
    data[$scope.value] ='25';
    

    【讨论】:

    • 谢谢,这正是我们想要的。
    【解决方案3】:
    var data = {
        'field2':'something',
        'field3':'something else'
    };
    $scope.value.forEach(function(value) {
        data[value] = '25';
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-28
      • 2016-11-25
      • 1970-01-01
      相关资源
      最近更新 更多