AngularJS select 输入上的 ng-model 不起作用

AngularJS ng-model on select input doesn't work

我从 AngularJS 开始,并尝试用 Angular 执行 a 并获取它的值,但它不起作用。

<div id="app_container" ng-controller="ArticlesController as control">
<select name="sortby" id="sortby" ng-model="sortBy"> {{sortBy}}
    <option name="Date" value="Date">Date</option>
    <option name="Vues" value="Vues">Vues</option>
    <option name="Note" value="Note">Note</option>
    <option name="Catégorie" value="Catégorie">Catégorie</option>
    <option name="Tags" value="Tags">Tags</option>
</select>
<div>

这里我想显示select输入的值,但是什么也没有显示。我也不能从控制器访问这个值,我不明白为什么。 我在同一页面上有一个 ng-repeat,效果很好。 我什至试图从 angularjs.org 复制过去的示例,即使这不起作用...

由于您使用控制器作为语法,因此您需要使用 ng-model="controlsortBy"

演示

var app = angular.module('testApp',[]);
app.controller('ArticlesController',function(){
   var control = this;
   control.print = function(){
     console.log(control.sortBy);
   }

});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="testApp">
<div id="app_container" ng-controller="ArticlesController as control">
<select name="sortby" id="sortby" ng-change="control.print()" ng-model="control.sortBy">
    <option name="Date" value="Date">Date</option>
    <option name="Vues" value="Vues">Vues</option>
    <option name="Note" value="Note">Note</option>
    <option name="Catégorie" value="Catégorie">Catégorie</option>
    <option name="Tags" value="Tags">Tags</option>
</select>
<h1> {{control.sortBy}}</h1>
<div>