このBootstrapプラグインを使用して、チェックボックスを1対のボタンに変えています。ページが読み込まれる前にチェックボックスが存在する場合(ページの最初のHTMLの一部)、期待どおりに機能します。ただし、以下の関数のように、editIndexが設定されている場合のように、チェックボックスがAngularによって動的に作成されたときに実行する必要があります。
ModalController.prototype.edit = function($index)
{
this.editIndex = $index;
$(":checkbox").checkboxpicker();
}
上記の関数を呼び出すと、実際にボタンを作成する関数は呼び出されません。延期されているようです。ページの読み込み後に作成されたチェックボックスに実際にボタンを作成する関数を呼び出すにはどうすればよいですか?
$ timeoutサービスを使用して、$(":checkbox").checkboxpicker();
angularがテンプレートのレンダリングを完了するまで実行を遅らせることは問題ないと思います。
ModalController.prototype.edit = function($index)
{
this.editIndex = $index;
$timeout(function(){
$(":checkbox").checkboxpicker();
});
}
ただし、checkboxpickerのカスタムディレクティブを作成する方が良い解決策かもしれません。何かのようなもの
myApp.directive('checkboxPicker', function(){
return {
restrict: 'A',
link: function(scope, el){
$(el).checkboxpicker();
}
}
});
そして、次のようなテンプレートで使用します <input type="checkbox" checkbox-picker>
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加