2016-12-16 61 views
3

我有一個簡單的JSON,例如:AngularJS Modyfing JSON與NG-模型

{ 
    "Object 0": {} 
} 

我想顯示爲一棵樹。 要做到這一點,我使用的是這樣的

<span>{{key}}</span> // Object 0 
<span>{{value}}</span> // {} 
<ul> 
    <li ng-repeat="(key, value) in items" ng-include="'views/itemList.html'"></li> 
</ul> 

Howether我希望能夠改變任何鍵的名稱和它的價值,所以我加

<input ng-model=」items[key]」> 

在我的模板,但其不工作正如它應該。我無法改變它的內容,因爲一旦我改變它不是對象了 我也不知道如何將對象0的鍵名更改爲其他任何內容而無需創建新項目。有任何想法嗎?

還有一種情況 我有。

$scope.test = {"test": "test1"} 

而且我希望能夠把這個$ scope.test到我的「對象0」,使之產生

{ 
    "Object 0": { 
    "test": "test1" 
    } 
} 
+0

您可以創建一個plunkr嗎? – Sunny

回答

0

你的第二個要求,你可以簡單地做到這一點

$scope.test = {"test": "test1"} 
$scope.items = { 
    "Object 0": $scope.test 
} 

它會給你

object { 
    Object 0 : Object{ 
        test:"test1" 
        } 
     } 

您不能從veiw中更改密鑰,實際上,當您使用ng模型中的密鑰設置對象時,會爲該元素指定該密鑰的值。它從視圖到控制器的功能也是一樣。如果您從視圖中更改此元素的值,它將更新模型上鍵值對象的值。

+0

我不想硬編碼它,因爲這個「簡單」的json可能只是一個有100個值的普通json,所以動態執行它很重要。例如,我得到ng-click =「pasteValue()」,它應該從$ scope.copiedValue動態添加值 –