2015-02-11 57 views
0

我不知道我在做什麼錯在這裏,任何人都可以看到我做錯了什麼?我只想將我的表單輸入(在這種情況下是日期選擇器)傳遞給控制器​​函數,但是我嘗試訪問的所有內容都顯示爲未定義!

這裏是我的形式

<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

添加$ scope.refinements = {};在你的控制器的頂部。 – nweg 2015-02-11 22:00:45

回答

1

您不需要將refinements傳遞給您的提交函數,因爲它的綁定使用ng-model和angular會爲您更改$scope.refinements

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

$scope.refinements = {} 
+0

我把$ scope.refinements = {}放在控制器的頂部,但是我嘗試的所有東西仍然顯示爲未定義。 $ scope.refinements = refinements;的console.log($ scope.refinements);甚至正確的語法?謝謝 – user1180888 2015-02-12 00:06:59

+0

對不起,確實工作,謝謝! – user1180888 2015-02-12 00:22:56

1

添加$ scope.refinements = {};在你的控制器的頂部。

+0

我把$ scope.refinements = {}放在我的控制器的頂部,但我嘗試的所有東西仍然顯示爲未定義。 $ scope.refinements = refinements;的console.log($ scope.refinements);甚至正確的語法?謝謝 – user1180888 2015-02-12 00:07:15

+0

對不起,確實工作,謝謝! – user1180888 2015-02-12 00:22:37