离子选择与angularjs

时间:2015-02-20 00:17:57

标签: angularjs ionic

我是离子+ angularJS的新手...我已经创建了一个像这样的选择项下拉列表

<div class="list">
    <div class="item item-input item-select">
      <div class="input-label" >
       Unit
     </div>
      <select id="unit">
        <option selected>Kilometer</option>
        <option>Mile</option>
      </select>
 </div>
</div>

我想用angularJS获得价值......我试过这个.. 当我点击一个按钮时,scope.convert即将到来。

$scope.convert = function() {

alert($scope.unit);
};

输出“undefined”..这是为什么?

1 个答案:

答案 0 :(得分:1)

$scope.unit实际上未在范围中定义,因此您获得undefined。您必须在范围上定义unit。由于这是一个角度应用程序,你可以采用角度方式。

在控制器中,您需要定义一个模型来保存所选的值。让我们调用此模型unit就像你实际上要做的那样。因此,您可以将此模型初始化为控制器中的Kilometer

$scope.unit = 'Kilometer'

现在你需要一系列选项。这也可以在你的控制器中设置。

$scope.unitOptions = ['Kilometer', 'Mile']

我们使用范围将模型公开给视图,因此在您的视图中,您可以按以下方式访问此模型:

<select id='unit' ng-options="unit for unit in unitOptions">

您将获得“公里”和“英里”的下拉列表。您可以选择其中任何一个,并且您的模型unit将会更新。

//This should now work
$scope.convert = function() { 
    alert($scope.unit);
 };

注意:我在id元素上留下select属性,表明它与控制器中的模型无关。