【发布时间】:2019-04-18 23:47:36
【问题描述】:
我正在尝试将新的列表选项动态添加到列表框中。 getItem("newCompany") 从本地存储中获取数组数据。这很好用。但我无法将 newCompany.name 推入 $scope.companies 数组。我正在尝试动态添加新的列表选项“华为和华硕”。
var newCompany = [{
name: "Huawei", // -->COMPANY NAME
email: "Drath@yahoo.com",
phone: "123-123-1234",
owner: "Drath",
street: "Gin Blvd",
city: "Austin",
country: "USA",
duns:"123112321",
type: "buyer"
},
{
name: "Asus", // -->COMPANY NAME
email: "Vadar@yahoo.com",
phone: "999-123-8888",
owner: "Vadar",
street: "Vince Blvd",
city: "Dallas",
country: "USA",
duns: "123100000",
type: "supplier"
}];
window.localStorage.setItem("newCompany", JSON.stringify(newCompany));
var myApp = angular.module("myApp", []);
myApp.controller("myController", function ($scope) {
$scope.companies = ["Apple", "Oneplus", "Samsung"];
var newCompany = JSON.parse(localStorage.getItem("newCompany"));
$scope.newComp = {};
$scope.newComp.push(newCompany.name);
$scope.companies.push($scope.newComp);
});
<select class="form-control" name="addCompany" placeholder="Select Company" ng-options="company for company in companies">
</select>
【问题讨论】:
-
我很惊讶你的控制台没有对此犹豫 - 对象没有推送方法。
-
推送仅适用于数组。将您的 newComp 对象设为 Array 对象。
-
@BartoszTermena 我改变了 newComp={};到 [];。还是不行。
标签: angularjs