angularjs选择未从模型填充的选项

时间:2017-09-24 12:30:03

标签: angularjs

在我的主页上,我有一个选择列表,但我无法弄清楚为什么它没有填充模型中的数据。选择列表应该包含产品类别。

这是我的HTML:

<select 
    ng-options="c.name for c in search.productCategories track by c.id" 
    ng-model="search.selectedProductCategory">
</select>

我的html主体上有一个基本控制器:

<body ng-controller="baseCtrl">

我正在使用$routeProvider

$routeProvider
    .when("/", {
        templateUrl: "app/views/home.html",
        controller: "home",
        resolve: {
            productCategories: productCategoriesResolver
        }
    })
...
...

我的控制器看起来像这样:

function home($scope, productCategories) {
    ...
    ...
    $scope.search.productCategories = productCategories;
}

解析器功能是:

function productCategoriesResolver(productCategoryService) {
    return productCategoryService.getProductCategories().then(function(categories) {
        return categories;
    });
}

我已经检查过,$scope.search.productCategories填充了类似的内容。

[{id: 1, name: 'Cat-A'}, {id: 2, name: 'Cat-B'}, ...]

我想也许这与嵌套控制器有关但我已经复制了一个有效的嵌套控制器solution

我尝试用$apply换行,但已经有一个正在进行的摘要周期,尝试了$timeout但没有运气。

2 个答案:

答案 0 :(得分:0)

我认为这是因为你的ng选项。试试这样:

<select 
    ng-options="c as c.name for c in search.productCategories track by c.id" 
    ng-model="search.selectedProductCategory">
</select>

答案 1 :(得分:0)

我对FiniteNumber的旧引用存在冲突并导致问题。