我在做什麼: 我想動態更新基於ngModel的指令中的AngularJS範圍。將數組轉換爲嵌套對象
小小故事: 我注意到Angular將我的ngModel字符串視爲字符串而不是對象。所以,如果我有這樣的:
ng-model="formdata.reports.first_name"
如果我試圖拉ngModel的指示,並指派東西吧,我結束了$範圍[「formdata.reports.first_name」。它將它視爲一個字符串而不是嵌套對象。
我現在這樣: 我想通得到這個工作是將ngModel字符串分割成一個數組的唯一途徑,所以我現在有工作:
models = ["formdata", "reports", "first_name"];
該作品不錯,我能現在靜態長度使用動態值,如:
$scope[models[0]][models[1]][models[2]] = "Bob";
問題: 如何使日動態範圍動態的長度?我希望這可以擴展到100個嵌套的對象,如果需要,甚至只是1.
更新: 我能夠使用if語句來實現這個半動態,但我如何使用for循環,沒有「最大」?
if (models[0]) {
if (models[1]) {
if (models[2]) {
if (models[3]) {
$scope[models[0]][models[1]][models[2]][models[3]] = "Bob";
} else {
$scope[models[0]][models[1]][models[2]] = "Bob";
}
} else {
$scope[models[0]][models[1]] = "Bob";
}
} else {
$scope[models[0]] = "Bob";
}
}
$ scope.formdata.reports.first_name是否在你的指令中工作? – Pete
是的,數據綁定也可以。 – JoshT