javascript - 如何使用 angularjs 在 html 中索引变量

标签 javascript angularjs

我是 AngularJS 的新手,仍在学习该语言。 我在 html 中创建了一个选择框,我想用 Controller 中的变量填充它。

我可以使用 {{variablename}} 获取 html 中的变量,但无法获取其中的子对象。 请查看我的代码here .
您可以看到它在 html 中显示“repeatSelect”,但如果我尝试索引其中的对象,它不会显示。(getID 始终为空)

Controller 有一个 $scope 变量,如下

controller('ExampleController', ['$scope', function($scope) {
    $scope.repeatSelect = null;
    $scope.data = {
     availableOptions: [
       {id: '1', name: 'Option A'},
       {id: '2', name: 'Option B'},
       {id: '3', name: 'Option C'}
     ],
    };
 }]);

在html代码中,

<tt>repeatSelect = {{repeatSelect}}</tt><br/>
  <tt>getID = {{repeatSelect.id}}</tt><br/>

repeatSelect 工作正常,但repeatSelect.id 不行。

请指导

最佳答案

使用ng-options内置指令代替 https://docs.angularjs.org/api/ng/directive/ngOptions .

它专门设计用于处理 HTML 选择列表,并具有大量强大的选项。

<div ng-controller="ExampleController">
    <label> Repeat select: </label>
    <select ng-options="option as option.name for option in data.availableOptions track by option.id" ng-model="repeatSelect"></select>
  <hr>
  <tt>repeatSelect = {{repeatSelect}}</tt><br/>
  <tt>getID = {{repeatSelect.id}}</tt><br/>
</div>

请在此处查看 plunkr:http://plnkr.co/edit/kIcH5fF7suhN0rhVDez8?p=preview

关于javascript - 如何使用 angularjs 在 html 中索引变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36371877/

相关文章:

angularjs - 为什么无法通过 id 选择 'track by' 的 Angular ng-options

validation - AngularJS - 创建与 ng-required 相反的指令

angularjs - 如何在 intellij idea 11.1.3 中运行 angularJS 测试?

javascript - 我可以使一个对象与另一个对象具有相同的顺序吗?

javascript - 嵌套 ES6 类?

javascript - 在数组模型中使用不同的对象 AngularJS

javascript - 在 AngularJS 的 Repeated 对象中重复一个对象或数组

javascript - Bootstrap 轮播滑动按钮不起作用

javascript - sethours 更新时间部分,但不更新日期时间字段中的日期部分

javascript - 如何在外部 div 保持不变的情况下缩放整个嵌套 div