2013-10-18 65 views
1

我是AngularJS的新手,尝试在选择框上设置默认值。我有一个我想在选择框中列出的对象列表。这工作正常,任何绑定到与选择框相关联的模型都可以正常工作。但是,只要我设置了默认值,我的所有绑定就不会因某种原因而更新。无法在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(); 
     }); 

    }); 

的我与经销商结合所有保持不变,他们留下来的经销商[0]。

,因为它可能更容易理解与图像: problem

任何人有任何线索?任何帮助深表感谢。

+0

请将您的代码发布在小提琴中。这里是模板:http://jsfiddle.net/9Ymvt/552/ –

+0

你真的需要'$ scope.apply()'吗?或者你的'不'开始消化周期? – tymeJV

+0

像'api.get'这样的声音并不是指控制器 –

回答

0

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