表单提交时未定义Angular $ scope

时间:2015-02-11 21:57:45

标签: javascript angularjs angularjs-scope ionic-framework

我不知道我在这里做错了什么,谁能看到我做错了什么?我只想将表单输入(在本例中为日期选择器)传递给控制器​​函数,但我尝试访问的所有内容都显示为未定义!

这是我的表格

<form ng-submit="showRefinedGameMarkers(refinements)">
    <div class="list">
      <div class="datepickers">
      From Date:
      <label class="item item-input">
        <input ng-controller="DatepickerCtrl"
        type="text" 
        placeholder="Pick date" 
        ng-model="refinements.from_datepicker" 
        name="from_datepicker" 
        ng-click="opendateModal()" 
        readonly>
      </label>
      </div>

这是我的控制器类

.controller('MapController', function($scope, $ionicLoading, gameFactory, $compile) {

  $scope.showRefinedGameMarkers = function(refinements) {
    $scope.refinements = refinements;
    console.log($scope.refinements);
    ...
    }
})

我尝试的所有东西都只是显示为未定义,非常烦人!非常感谢任何帮助,谢谢

2 个答案:

答案 0 :(得分:1)

添加$ scope.refinements = {};位于控制器的顶部。

答案 1 :(得分:1)

您不需要将refinements传递给提交函数,因为使用ng-model和angular绑定将为您更改$scope.refinements

此外,您需要在控制器中初始化refinements变量。

$scope.refinements = {}