动态将新列表选项添加到列表框中-AngularJS

时间:2018-11-15 19:41:25

标签: angularjs

我正在尝试将新的列表选项动态添加到列表框中。 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>

1 个答案:

答案 0 :(得分:0)

数据类型匹配吗? $scope.companies包含字符串,因此请尝试手动添加公司名称的字符串。

此外,ng-options="company for company in companies"-我不确定两次使用相同的变量名是否可以使用。 ng-options通常用于将公司对象保存在companies中,以便select的ng-model将包含所选公司:

<select ng-model="selectedCompany" ng-options="item.label for item in companies"></select>