2014-12-03 23 views
0

我有一個小的形狀與選擇的標籤時選擇犯規結合控制器,所述形式是內部離子含量指令HTML嵌套在離子含量

現在

而我可以使用看到視圖上的值{{ selectedValue}},他們到達的控制器未定義。我檢查了代碼,看起來很好。當我刪除了離子含量指令它開始工作得很好

這裏是我的代碼(控制器在$ stateResolver定義)

<ion-content> 
<form> 
    <select ng-model="selectedCity" 
      ng-options="city as city.cityName for city in cities" 
      ng-change="cityChanged()"> 
    </select>  
</form> 

*離子含量標籤被關閉,我不知道爲什麼堆棧削減它

和JS代碼段

controllers.controller('RegisterController',function($scope,$http,$state){ 

    $scope.formData = { 
     firstName:'', 
     lastName:'', 
     email :'', 
     password:'', 
     confirmPassword:'', 
     phoneNumber:'', 
     dob:'', 
     country:{}, 
     selectedItem:'' 
    }; 
    $scope.errors = []; 

    $scope.countries=[ 
      {countryId:1,countryName:"United States"}, 
      {countryId:2,countryName:"Mexico"} 
     ]; 

    $scope.cities=[ 
      {cityId:1,countryId:1,cityName:'Miami'}, 
      {cityId:2,countryId:1,cityName:'Los Angeles'} 
     ]; 

    $scope.cityChanged = function(){ 
     console.log($scope.selectedCity); 
    } 

    $scope.register = function(){ 
     oformData = $scope.formData; 
     oformData.selectedCity = $scope.selectedCity; 

     console.log($scope.formData); 
    } 
}); 

在控制檯上它將顯示undefined,除非離子含量指令被刪除

這是一個錯誤?

回答

1

它可能與ion-content指令創建自己的隔離範圍有關。

例如(示波器繼承打交道時很重要)嘗試再次使用點符號,改變NG-模式:

ng-model="form.selectedCity" 

請參考:

AngularJS documentation on scopes

Egghead video

如果不行,請提供一個調試器來調試

+0

我今晚試試吧,順便說一句,然後我訪問這使用$ scope.form.selectedCity? – naoru 2014-12-03 16:37:58

+0

是的,這是正確的。 – rmuller 2014-12-03 17:35:24

+0

Worked !! 1 !!!!!! – naoru 2014-12-04 01:19:18