如何在HTML中访问对象变量名称

时间:2019-06-05 11:14:12

标签: javascript html angularjs

我有范围变量

public static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

...

Task.Factory.StartNew<Model>(() =>
{
    //My Work that writes log
}, TaskCreationOptions.AttachedToParent).ContinueWith((t) =>
{
    //Update UI code using that also writes log
}, TaskScheduler.FromCurrentSynchronizationContext());

在HTML中,我可以将ng-if语句中的内容值作为content ['key']

访问

但是我想使用variableName字符串访问同一变量,即我在HTML的ng-if条件下使用的对象的变量名称

$scope.variableName = "content"; $scope.content['key'] = 'value';

这是否可能或可以实现。

2 个答案:

答案 0 :(得分:0)

您可以通过$scope关键字引用this

angular.module('app', []).controller('ctrl', function($scope){
  $scope.variableName = "content";
  $scope.content = {};
  $scope.content['key'] = 'value';  
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js">
</script>

<div ng-app='app' ng-controller='ctrl'>
  {{this[variableName]['key']}}
</div>

答案 1 :(得分:0)

您可以使用{{content["key"]}}{{content.key}}进行访问。

var module = angular.module("myModule", []);

module.controller("myController", function($scope) {
  $scope.variableName = "content";
  $scope.content = {};
  $scope.content['key'] = 'value';
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>

<div ng-app="myModule">
  <div ng-controller="myController">
    {{content["key"]}} <br />
  </div>
</div>