問題タブ [angularjs-directive]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jquery-ui - AngularJSとフォーム検証でjQueryボタンを無効にする
フォームの検証に基づいてjQueryボタンを無効にしたいのですが。ドキュメントによると、これは次のような構文を使用する通常のボタンでかなり簡単です。
ただし、jQuery UIボタンに変更すると、これは機能しなくなります。AngularにはjQueryUIとAngularJSの間に実際のバインディングがないため、次のことを行うためのディレクティブが必要になると思います。
それは事実ですか、それとも他の選択肢がありますか?私がやろうとしていることのjsFiddleはここにあります:http://jsfiddle.net/blakewell/vbMnN/。
私のコードは次のようになります:
意見
コントローラ
unit-testing - 単体テスト時に scope.$watch がディレクティブで呼び出されない
問題
ディレクティブをテストしています。ディレクティブにはスコープ変数の監視がありますが、監視は呼び出されません。呼び出しを単体テスト$watch
内に直接配置すると機能します。$watch
ディレクティブの が呼び出されないのはなぜですか?
ありがとう!
詳細
これが私のオリジナルのテストです。ディレクティブには、 を見て、時計が含まれてい'reEvalCreateDate'
ます。呼び出されることはなく、日付文字列は常に空です。
ウォッチステートメントを含まないテスト
テストとして、時計を単体テストに入れました。正しく呼び出され、テストに合格します。
ソース (時計自体をテストに入れるように変更)
ディレクティブ ソース コード
これは、watch ステートメントを含むディレクティブ コードです。
セットアップコード
テスト用のすべての初期化コードは次のとおりです。
アップデート
コメントによると、ディレクティブにスコープを設定しているとは思いません。それを可能にするAPIは何も見当たりません。$compile
スコープを設定しようとして、呼び出しのいくつかの順列を試しました。
html から要素を作成し、それをコンパイルに渡します。運がない。
最初に要素を作成することによって
問題がディレクティブにスコープを設定していないということである場合、エラーは mybeforeEach
にある可能性が高いと思います。ここにあります:
javascript - 入力を数字のみを受け入れるように制限するにはどうすればよいですか?
AngularJSでngChangeを使用して、ユーザーが入力に追加した文字を削除するカスタム関数をトリガーしています。
numbersOnly()
問題は、入力された文字を削除できるように、トリガーされた入力をターゲットにする必要があることです。私はグーグルで長くそして一生懸命見てきました、そしてこれに関して何も見つけることができませんでした。
私に何ができる?
angularjs - オブジェクトをディレクティブに渡すAngularjs
Angular初心者はこちら。オブジェクトをディレクティブに渡すときに何が問題になっているのかを理解しようとしています。
これが私の指示です:
これは、ディレクティブを呼び出すテンプレートです。
store.walks
オブジェクトの配列です。
これを実行すると、スコープとして正常にscope.walks
ログに記録され、探しているすべてのデータを持つ子が作成されます。undefined
scope
walks
この正確な方法は以前に私のために働いていたので、私はここで何が間違っているのかわかりません。
編集:
必要なすべてのコードを使用してプランカーを作成しました: http://plnkr.co/edit/uJCxrG
ご覧のとおり{{walks}}
、スコープで使用可能ですが、未定義としてログに記録されているリンク関数でアクセスする必要があります。
angularjs - angularjsでディレクティブを書く方法
ディレクティブを使用してカスタム コンポーネントを作成するのが好きです。私は多くのチュートリアルをチェックしましたが、混乱してしまいました。誰でもディレクティブがどのように機能するかを説明できます。私が作る予定のコンポーネントは
シャウトリストのテンプレートはこのようになります
templates - 外部jsライブラリを使用したAngularのテンプレート
templateUrl
パラメータを介してテンプレートで機能する要素ディレクティブを作成しました。このテンプレートには、約8つの外部jsライブラリ(jquery fileuploadプラグイン)を必要とするfileupload入力が含まれています。テンプレートにこれらのjsライブラリへのリンクがある場合(標準のスクリプト要素を使用)、すべてが正常に機能しますが、読み込み時にブラウザコンソールにエラーがあります。
jsライブラリへのリンクを、ディレクティブがあるページに直接配置すると、エラーは発生しませんが、再利用性を高めるには適していません。
javascript - javascript からの .cshtml ビューへのリンク
javascriptファイルから.cshtmlビューを直接指すにはどうすればよいですか? たとえば、angular.js で .cshtml ビューを使用できないのはなぜですか? この例のように:
もちろん、何でも好きなものを返すアクション メソッドを持つことは可能ですが、カミソリ ビューを直接参照できるかどうかに興味があります。
angularjs - templateUrlをその場で変更できますか?
ディレクティブのスコープに値を渡すことで、templateUrlをその場で変更することは可能ですか?ディレクティブから渡されたデータに基づいてページをレンダリングするコントローラーにデータを渡したい
多分そのように見える何か:
angularjs - ng-repeat を使用しない配列のディレクティブ
もう一度、パフォーマンスの低下に遭遇しng-repeat
、要素の配列をレンダリングするディレクティブを構築する方法がわかりませんng-repeat
(テンプレートであっても)。
それで、どうやってそれをしますか?
要素ごとにテンプレートを使用して配列を反復処理しても、次のようになります。
すべての要素に対して 1 つのテンプレートを使用ng-repeat
することを選択した場合も、その中で使用する以外に選択肢がなく、ngRepeatWatchers が作成され、すべてが再び遅くなります。
javascript - 定期的な UI 更新の最適化
ページ全体の速度が低下している原因を突き止めました。
Resig の prettyDate jquery プラグインに基づいて日付を更新するディレクティブがあり、イベントが発生した時間を便利な形式で表示します...ディレクティブ自体は、ドキュメント ページで使用されている角度のサンプルを中心に構築されています。
ページにいくつかの要素がある場合は完全に機能しますが、要素を増やすと、更新の間隔を長くしても、すべての要素が同時に更新されるため、時間が常に更新されるため、ページ全体が遅くなります。
それに対する解決策を提案できますか?どういうわけかそれらを非同期に更新することは可能ですか、それとも別のスレッドのようにばかげているように聞こえることはわかっています。
パフォーマンスを犠牲にすることなく何千もの要素を更新するにはどうすればよいでしょうか?