【发布时间】: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