首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角ng-选项选择选项视觉反馈问题

角ng-选项选择选项视觉反馈问题
EN

Stack Overflow用户
提问于 2014-07-29 17:16:00
回答 1查看 105关注 0票数 1

因此,我在获得适当的视觉反馈以及我想要的数据绑定行为方面遇到了问题。这是我的密码:

代码语言:javascript
复制
<div ng-app="myTestApp" ng-controller="myTestCtrl">
    <!-- selected value is site.name -->
    <h3>Selected value is site.name property</h3>
    <select ng-model="testSelect" ng-options="site.name as site.name for site in sites track by site.name">
        <option value="">Please choose a site</option>
    </select>
    <div ng-bind="testSelect"></div>

    <hr/>
    <!-- Selected value is site object itself -->
    <h3>Selected value is the site object itself</h3>
    <select ng-model="testSelectTwo" ng-options="site.name for site in sites track by site.name">
        <option value="">Please choose a site</option>
    </select>
    <div ng-bind="testSelectTwo"></div>
</div>

下面是附带的角javascript:

代码语言:javascript
复制
var app = angular.module('myTestApp', []);

app.controller('myTestCtrl', ['$scope', function ($scope) {
    $scope.sites = [
        {id: 1, name: 'Site 1', link: 'http://url'},
        {id: 2, name: 'Site 2', link: 'http://url'},
        {id: 3, name: 'Site 3', link: 'http://url'}
    ];
}]);

下面是以上所有内容的jsFiddle:http://jsfiddle.net/aZwLY/

现在,我想让ng模型获得site.name属性以供我使用(使用上述代码的jsFiddle示例的上半部分),但我也希望看到实际选择更改的视觉反馈( jsFiddle示例的下半部分)。

到目前为止,我还没有想出一个解决办法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-29 17:38:43

删除track by子句。这就是造成问题的原因。

Track by是指您可能有不同的对象,它们应该被平等对待。若要使用第二个示例,请执行以下操作:

$scope.site = {id: 1, name: "Site 3", link: ""};

它将使网站的id为3的选择。这是因为我们在用名字追踪。

小提琴:http://jsfiddle.net/n7U6V/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25021246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档