私は選択ドロップダウンにjqueryメソッドを適用する前まで、データが選択ドロップダウンにバインドされるまで待機したい角度のアプリケーションを持っています。角度1.5.8 - 角度で要素にデータをバインドすると、アクションを実行するにはどうすればよいですか?
私の以前の関連する質問では、次のコードを使用してドロップダウンに成功しました。
<select name="shippingState" id="shippingState" ng-model="accountAddresses.shippingState" ng-options ="state.abbreviation for state in states track by state.abbreviation" class="state form-control" size="1">
</select>
今私はjqueryのメソッド(カスタム選択ボックスのドロップダウンスタイリングライブラリ)を適用したいです。
データが読み込まれると、ブラウザコンソールで手動でメソッドを適用できます。 問題は、ブラウザコンソールで手動でアクションを実行できることです。
ドロップダウンデータをフェッチしているときに、同じ方法を角度で実行することはできません。
質問: データバインディングが角度で終了すると、どのようにアクションをトリガーできますか?
EDIT - 私はディレクティブを作成し、このディレクティブをトリガーするように自分のhtmlを変更しました。
まだカスタムスタイルの要素はありません。ルートコントローラへ
指令チェインド
directive('onDataBind', function (id) {
alert(id);
function link(elem, id) {
elem.ready(function(id){
$scope.CreateDropDown(id);
});
}
})
HTML修正
<select name="billingState" id="billingState" ng-model="accountAddresses.billingState" ng-options ="state.abbreviation for state in states track by state.abbreviation" on-data-bind="CreateDropDown('billingState')" class="state form-control" size="1">
</select>
次のディレクティブコードが問題を解決する助け
$scope.CreateDropDown = function(id){
$("#"+id).selectbox();
//selectbox is the following library - https://github.com/olivM/jQuery-Selectbox
}
ディレクティブと '$ timeout()'を使用します。 – Lex
@Lex、あなたは私にそれを打つ。助けてくれてありがとう。編集内容をご覧ください。 – Vahe
私はまだこの指令に取り組む措置はありません。関数リンクにスコープを注入する必要がありますか? – Vahe