2016-11-02 8 views
0

私はAngularJSアプリケーション(1.4)を構築していますが、今はドロップダウンメニューで別のページを選択しています。AngularJSで適切なオプション要素を自動的に選択

問題は、メニューでページを選択してそのページに移動したときに、ドロップダウンメニューでページの名前を自動的に選択したいと思いますが、これは起こっていません。の各コントローラには、私は角度-UI-ルータを使用していますし、それらのページのすべてのビューを入れ子にしているので、

$scope.changeLink = function(){ 
    $state.go($scope.selectedOption.url); 
}; 

$scope.menu_voices = [ 
    { 
     "url": 'account.company', 
     "name": 'Company' 
    }, 
    { 
     "url": 'account.billing', 
     "name": 'Billing' 
    } 
    ... 
]; 

最後に:

<select ng-options="menu_voice.name for menu_voice in menu_voices track by menu_voice.url" ng-model='selectedOption' ng-change="changeLink()"> 
</select> 

JSコード:ここで

コードですネストされたビュー私はこのコード行を持っています:

$scope.selectedOption = $scope.menu_voices[x]; 

ここで、xは選択したいメニューボイスの番号です。

私はページを変更できますが、ドロップダウンメニューでは毎回空白が選択されています。 私は何が欠けていますか?

答えて

0

私はanglejs v1.4を使って "track by"句で動作させることができなかったので、元の答えに少し修正を加えました。

HTML:// URLは今値であり、名前がオプションを選択

のラベルである
<select ng-options="menu_voice.url as menu_voice.name for menu_voice in menu_voices" ng-model="selectedOption"> 

コントローラー:

あなたが "selectedOption" URLを割り当てますオプションを事前に選択します。 angularjs V1を使用して

<select ng-change="changeLink(selectedOption)" ...> 

here is a working example

$scope.selectedOption = $scope.menu_voices[x].url; 

は今すぐ変更リンクのためにあなたがここに

$scope.changeLink = function(){ 
    $state.go($scope.selectedOption); 
}; 

OR

これに連結された
$scope.changeLink = function(url){ 
    $state.go(url); 
}; 

の2つのいずれかを行うことができます.4

Here is a reference linkここで何が起こっているのかを理解するのに役立つ同様の質問です。

関連する問題