将下拉列表中的选择值存储到变量AngularJS

将下拉列表中的选择值存储到变量AngularJS,angularjs,drop-down-menu,angularjs-scope,Angularjs,Drop Down Menu,Angularjs Scope,我想将从下拉列表中选择的值存储在AngularJS中 我可以在UI上复制新选择,但不能在控制台中复制 <div ng-controller="MyCtrl"> <div> Fruit List: <select id="fruitsList" ng-model="cart" ng-change="getSelectedLocation()" ng-options="state for state

我想将从下拉列表中选择的值存储在AngularJS中

我可以在UI上复制新选择,但不能在控制台中复制

<div ng-controller="MyCtrl">
<div>
    Fruit List:
    <select id="fruitsList"
        ng-model="cart"
          ng-change="getSelectedLocation()"

        ng-options="state for state in shelf"></select>
        <br/>
    <tt>Fruit selected: {{cart}}</tt>
</div>
你知道如何做到这一点吗


当控制器实例化时,您只需打印一次购物车。当时,用户还没有机会选择任何内容

如果要在每次更改时打印选择,请使用ng change(顺便说一句,您已经在使用它):

在控制器中:

$scope.printSelection = function() {
  console.log($scope.cart);
};

是 啊但如何将其存储到变量中?如果我选择bananas,我希望它存储到一个变量中,如果我选择apple,该变量的新值应该是“apple”,因此我在printSelection函数中返回$scope.cart,我如何在其他函数中使用所选值?为什么控制台现在不打印任何内容?因为当控制器实例化时,您正在再次打印abcd一次。当时,用户还没有机会选择任何内容。将console.log()语句移动到getSelectedLocation函数中。好的。是否有方法将其返回到变量,并在控制器的任何部分使用该值?您可以在控制器的任何位置使用$scope.cart,而不使用无用的abcd变量。您只需要了解指令何时执行。当控制器实例化时,直接在控制器功能中的指令执行一次。
ng-change="printSelection()"
$scope.printSelection = function() {
  console.log($scope.cart);
};