【问题标题】:Unable to set default value on AngularJS select box无法在 AngularJS 选择框上设置默认值
【发布时间】:2013-10-18 13:16:04
【问题描述】:

我是 AngularJS 的新手,正在尝试在选择框上设置默认值。我有一个要在选择框中列出的对象列表。这可以正常工作,并且与选择框关联的模型的任何绑定都可以正常工作。但是,一旦我设置了默认值,我的所有绑定都出于某种原因不想更新。

控制器:

    app.controller('ctrl', [ '$scope', function ctrl($scope){

        api.get('dealerships', function(err, dealerships){
            $scope.dealerships = dealerships;
            $scope.$apply();
        });

    });

HTML:

    <select ng-model="dealership" ng-options="d.name for d in dealerships"></select>

    <span class="dealership-name">{{dealership.name}}</span>

这很好用,我可以在经销商之间切换,并且 dealership.name 绑定更新得很好。但是,一旦我设置了这样的默认值:

    app.controller('ctrl', [ '$scope', function ctrl($scope){

        api.get('dealerships', function(err, dealerships){
            $scope.dealerships = dealerships;
            $scope.dealership = $scope.dealerships[0];
            $scope.$apply();
        });

    });

我与 dealership 的所有绑定都保持不变,它们仍属于经销商[0]。

因为使用图像可能更容易理解:

谁有线索?非常感谢任何帮助。

【问题讨论】:

  • 请在 Fiddle 中发布您的代码。这是模板:jsfiddle.net/9Ymvt/552
  • 你真的需要那个$scope.apply() 吗?还是您的 get 没有开始摘要周期?
  • 听起来像api.get 不是指控制器
  • api.get 不是 AngularJS 模块或任何东西。这是一个自定义构建的 SDK,用于访问自定义构建的 API。
  • 出于某种原因,这在 Fiddle 中运行良好。让我做一些挖掘,并更新 Fiddle 以尽可能接近我们所拥有的。

标签: javascript angularjs


【解决方案1】:

问题解决了。我有两个 ng-controller="ctrl" 属性。导航栏上的一个,我的选择框所在的位置。还有一个关于主要内容,发生绑定的地方。

【讨论】:

    猜你喜欢
    • 2013-08-25
    • 2016-03-25
    • 2014-02-16
    • 1970-01-01
    • 2020-06-14
    • 2021-03-09
    • 1970-01-01
    • 2013-02-04
    • 1970-01-01
    相关资源
    最近更新 更多