我试图解决一个多小时的问题,却没有在网上找到任何东西。 这是模板:

        <select
          ng-model="user.platform_id"
          ng-options="platform.id as platform.title for platform in platforms"
          id="platform_id" class="form-control">
        </select>

这是控制器:

$scope.platforms = platformsEntity.query();
// Resource object coming from UI Router resolve, already fetched with user info
$scope.user = userEntity; 

平台资源响应返回以下格式:

[ { id: 4, title: 'platform1'}, { id: 5, title: 'platform2' ]

用户相同,资源对象与平台ID

{ id: 3, name: 'foo', platform_id: 5 }

这样,我可以在选择框中看到所有平台,但是没有被ngModel值(user.platform_id)选中。问题是,当我使用普通对象而不是资源时:

$scope.platforms = platformsEntity.query();
$scope.user = { platform_id: 5 } ; 

正在正确选择它...

更新

我复制了我在ng-repeat中寻找的行为:

<select ng-model="user.platform_id" id="platform_id" class="form-control">
    <option 
        value="{{ platform.id }}" 
        ng-selected="user.platform_id == platform.id" 
        ng-repeat="platform in platforms"
    >{{ platform.title }}</option>
</select>

===============>>#1 票数:0

这与使用资源无关,而是以编程方式选择ng-options的问题在于ng-model值应引用与ng-options中相同的对象。 为了初始化选择,首先确保已填充platform数组(查询可能是异步的吗?),然后遍历它们,并将所选平台的id对象设置为用户的platform_id对象。

===============>>#2 票数:0

尝试这样的事情。 告诉angular您要track value的内容。

<select
      ng-model="user.platform_id"
      ng-options="platform.title for platform in platforms track by platform.id"
      id="platform_id" class="form-control">
</select>

  ask by roy translate from so

未解决问题?本站智能推荐:

1回复

仅当Angular从资源对象检索数据时选择一个选项元素

我正在尝试在select html元素中加载对象列表。 问题在于,在实际从服务器返回数据之前正在编译代码。 因此,未选择我要在选择元素中选择的选项。 我怎样才能解决这个问题? 我有以下HTML: 控制器代码: 数据服务调用RESTful服务:
1回复

我应该通过PUT时通过选项

我有以下配置。 至于我的$resource 现在,当我这样打电话给更新时 我的控制台呈现No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http:/
3回复

使用method:POST时,AngularJS $资源调用错误的API URL

不是最简单的问题。 无论如何,我的应用程序是基于nodejs / expressjs构建的,并为url设置了API: 编辑:我正在使用的当前代码是: 目前它调用/api/updateProduct而不是/api/updateProduct/<product>/&l
1回复

角工厂仅返回部分资源响应

我有一个Angular工厂DogePrice : 典型的api响应如下: 这是JSfiddle示例 如何创建仅返回data.price字段的工厂? 我想要一个只有$scope.price = DogePrice.get();的干净控制器$scope.price = Dog
1回复

AngularJS资源-如何从。$ save获取响应

我正在保存一些数据,这些数据可以从API正确获得响应。 之后,我的。$ save函数结束后,便尝试使用该信息。 这是我的代码: 我想在通话之外使用该回复,但无法联系到它。 总是得到'$ scope.postulation_id = undefined'。 此功能如何运行?
1回复

角$ update资源

编辑:如果在不发布更多代码的情况下很难进行故障排除,请告诉我,我可以为问题添加更多内容。 我有两个基本相同代码的实例,其中一个正在工作,而另一个则没有。 工作正常: 无法运作: 我收到错误: undefined不是我的$update函数中的函数。 这是我的资源:
1回复

如何解开angularjs资源?

在angularjs中, $resource模块(第三类模块)非常棒,可以获取承诺的数据(等等)。 例如,如果Article是返回$resource的工厂: 这样你就答应了 当诺言成功解决后,您将获得以下信息: 太好了! 我要搜索的是是否存在一种通用方法来解开某些特
2回复

角$资源然后不返回数据

我有一个带有工厂和控制器的简单应用程序: factory和controller中的then节不会从api资源返回数据。 而是在控制台中返回e { $promise=Promise, $resolved=true, toJSON=function(), more...} 。 范例a
1回复

AngularJS $资源多个POST

我有多个Web Api Post methods例如: 这是我的AngularJs服务器: AngularJs控制器: 我从哪里调用方法的HTML: 我的问题是Post([FromBody] AdModel adModel)被完美地调用了。 但是,当我调用Add
2回复

在工厂中存储角度资源的结果

我目前正在使用Angular $ resource制作api,并且希望将这些结果保存在服务中而不是控制器中,因为每次调用控制器时,都会再次调用结果,因此所做的所有更改都将被删除。 我尝试了几篇SO文章中给出的答案,包括: AngularJS:使用共享服务(带有$ resource)在