簡體   English   中英

AngularJS中的動態ng模型名稱

[英]Dynamic ng-model name in AngularJS

我對動態生成的輸入有問題。 我如何獲得他們的價值觀?

<p ng-repeat="(key, value) in selectedTemplate.attributes.Params.attributes">
    {{key}} : <tr><input ng-model="params[key]" type="text" placeholder="{{value}}" >
</p>

//attributes are like this
"attributes": {
    "End Date": "java.sql.Timestamp",
    "Containers": "java.lang.Object",
    "Begin Date": "java.sql.Timestamp"
}

謝謝。

只需在控制器中聲明$scope.params = {} 然后,您可以通過以下方式訪問值: $scope.params['End Date']$scope.params['Containers']$scope.params['Begin Date']

您的第一個問題是將在ng-repeat范圍內創建參數。 因此,您將需要在控制器初始化中聲明它:

$scope.params = [];

然后,要遍歷變量,可以在控制器內部執行以下操作:

for (var key in attributes) {
  if (attributes.hasOwnProperty(key)) {
    alert($scope.params[key]);
  }
}

順便說一句,params是保留關鍵字。 在某些瀏覽器中使用它可能會失敗。

我有一個演示給您: 這里

我用ng-model名稱創建一個簡單的示例,然后遵循它並申請您的案例。

HTML:

<p ng-repeat="(key, value) in attributes track by $index">
   <input ng-model="params[key]" type="text" placeholder="{{value}}" >
</p>

<p>{{params}}</p>

控制器:

$scope.attributes = {
    "End Date": "java.sql.Timestamp",
    "Containers": "java.lang.Object",
    "Begin Date": "java.sql.Timestamp"
 };

 // You should create params variable.
 $scope.params = {};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM