AngularJS REST Api选择框ng-change

时间:2016-03-02 17:10:26

标签: angularjs rest ionic-framework angularjs-ng-change

我正在从外部网址中将数据加载到选择框中。问题是根本没有触发ng-change。但是,如果我创建一个本地数组,它的工作原理!我想根据选择更新主网址。

但是我注意到,选项的'value'字段是'undefined',但选择框用post.site_name填充。

HTML:

<select ng-options="site_name as post.site_name for post in posts"
            ng-model="something" ng-change="updatee(post.path)">
    <option>Select</option>
</select>

控制器:

 .controller('HotelCtrl', function( $scope, $http, DataLoader, $timeout, $rootScope, $log ) 
{
 var postsApi = 'http://my_URL';

 $scope.updatee = function(newLink) {
    console.log('works');
    $rootScope.url = newLink;
 };

 $scope.loadPosts = function() {
   DataLoader.get( postsApi ).then(function(response) {
       $scope.posts = response.data;

   }, function(response) {
      $log.error('error', response);     
   });
 }

 $scope.loadPosts();

})

服务:

.factory('DataLoader', function( $http, $log ) {
 return {
  get: function(url) {
    // Simple index lookup
    return $http.get( url );
  }
 } 
})

我至少已经在这一天了,而且发疯了...感谢任何帮助。 感谢

1 个答案:

答案 0 :(得分:1)

你可以尝试这个选择标签。

<select ng-options="post.site_name as post.site_name for post in posts"
        ng-model="something" ng-change="updatee(post.path)">

ng-options语法为select_ (as _label_)? for (_key_,)?_value_ in _collection_

您正在传递label,但不是select。所以post.path未正确加载。