0

私は以前Angular1を使用していましたが、私は現時点で作業している選択肢を壊しているものを解き放つことをしています。Angular1の選択ドロップダウンをデバッグ

ここで私が構築しようとしている選択するためのテンプレートです:

<div class="dropdown-selector-container"> 
    <select 
    class="dropdown-select" 
    data-ng-options="option.sectionId as option.label for option in dropdownOptions" 
    data-ng-model="selectedSection" 
    data-ng-change="setDropdownOption()"> 
    </select> 
</div> 

このようなコントローラの外観におけるオブジェクトとメソッド:

$scope.dropdownOptions = [ 
    { 
    'label': 'ok', 
    'sectionId': '1', 
    }, 
    { 
    'label': 'wow', 
    'sectionId': '2', 
    } 
]; 

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

意図した行動の作業フィドルがあります利用可能なhere

トラブルですが、私は中にルート内templatecontrollerにフィドルからコードを複製したときに、私のことで印刷された、$状態オブジェクト(ドロップダウンが800ピクセル幅または少ないとビューポート上でのみ表示されます)development instanceコントローラ機能はselectedSectionキーが含まれていません:それはケースかもしれない理由

enter image description here

誰でも知っていますか?私はあなたが提供できるアドバイスに非常に感謝しています!

+0

...相続のこの種は非常に非常に良くなり、私は非常にこの[アドオン](https://chrome.google.com/webstore/detail/angularjs-batarang/ighdmehidhipcmcojjgiloacoafjmpfkをお勧めしますリアクト?utm_source = chrome-ntp-icon) –

+0

ああ、あなたはすでにそれを使用していると思う。 –

+0

はい、ありがとう!私はまた、 'angle.element("。dropdown-selector-container select ")。scope()'(コンソールから)が私のターゲット要素のスコープを直接洞察できることを発見しました。要素には 'selectedSection'スコープオブジェクトがあり、それは伝播していません... – duhaime

答えて

2

これを解決するための鍵は、angular.element(".dropdown-selector-container select").scope()のようなものでコンソールから要素の範囲を調べることができることを学ぶことでした。これは私に解決策をもたらしました:にdata-ng-modelを設定しましたが、今度はdropdownOptionsオブジェクトがコントローラスコープに存在していたことがわかりました。

はangularjsをデバッグするための