动态属性名称

时间:2017-06-06 09:09:16

标签: angularjs

我定义了这个常数:

mask = ((df2 < 0.65) | (df2 > 1.35)).any()
df = df1.loc[:, ~mask]
print (df)
          C
test1  6.00
test2  6.20
test3  6.10
test4  6.05

df = pd.concat([df_filtrado, df], axis=1)
print (df)
              B          A     C
test1  0.878049   3.962617  6.00
test2  0.900000   3.813084  6.20
test3  0.197561   4.000000  6.10
test4  1.100000  14.953271  6.05

我想按照我在控制器constant('countries', [{ NAME_IT: "Francia", NAME_US: "France" }, { NAME_IT: "Italy", NAME_US: "Italia" } ]); 中定义的语言(IT或US)显示国家/地区的名称:

language

我无法找到显示动态属性<ul> <li ng-repeat="cc in ctrl.countries"> <!-- cc.NAME_US or cc.NAME_IT --> </li> </ul> NAME_US的方法。我怎么能这样做?

谢谢!

4 个答案:

答案 0 :(得分:0)

您需要将constant注入controller,然后将其分配给控制器的某个$scope属性,然后将该范围属性绑定到HTML。

例如:在控制器中:

app.controller("MyCtrl", ["$scope", "countries", function ($scope, countries) {
    $scope.countriesList = countries;
   //other code
}]);

进一步用HTML表示,如:

<li ng-repeat="cc in countriesList">
      {{cc.NAME_IT}} -{{cc.NAME_US}}
</li>

请参阅此fiddle.

答案 1 :(得分:0)

将此内容写入您的控制器:

.controller('YourController', ['countries', function(countries) {
    this.countries = countries;
}]

现在,您可以像在视图中一样使用它。

注意:强烈建议在大写中定义常量。即。在您的情况下COUNTRIES

答案 2 :(得分:0)

我终于在我的控制器中创建了一个方法,它返回如下名称的值:

getCountryName(country) {
        return country["NAME_" + this.profile.language];
    }

这样我就不再有动态属性名称的问题了,我只是调用我的方法:

<li ng-repeat="cc in countriesList">
      {{ctrl.getCountryName()}}
</li>

答案 3 :(得分:0)

尝试一下

        <mat-header-cell *matHeaderCellDef mat-sort-header> USER ROLES </mat-header-cell> -->
         <mat-cell *matCellDef="let user"> 
          <div class="form-group">
                <mat-label *ngFor="let role of user.VmsUserRoles;let i = index;">                     
                  {{UserRoles[role]}} <br>
                </mat-label>
        </div>
        </mat-cell>
      </ng-container>