問題タブ [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.

0 投票する
2 に答える
2844 参照

jquery-ui - AngularJSとフォーム検証でjQueryボタンを無効にする

フォームの検証に基づいてjQueryボタンを無効にしたいのですが。ドキュメントによると、これは次のような構文を使用する通常のボタンでかなり簡単です。

ただし、jQuery UIボタンに変更すると、これは機能しなくなります。AngularにはjQueryUIとAngularJSの間に実際のバインディングがないため、次のことを行うためのディレクティブが必要になると思います。

それは事実ですか、それとも他の選択肢がありますか?私がやろうとしていることのjsFiddleはここにあります:http://jsfiddle.net/blakewell/vbMnN/

私のコードは次のようになります:

意見

コントローラ

0 投票する
2 に答える
5066 参照

unit-testing - 単体テスト時に scope.$watch がディレクティブで呼び出されない

問題

ディレクティブをテストしています。ディレクティブにはスコープ変数の監視がありますが、監視は呼び出されません。呼び出しを単体テスト$watch内に直接配置すると機能します。$watchディレクティブの が呼び出されないのはなぜですか?

ありがとう!

詳細

これが私のオリジナルのテストです。ディレクティブには、 を見て、時計が含まれてい'reEvalCreateDate'ます。呼び出されることはなく、日付文字列は常に空です。

ウォッチステートメントを含まないテスト

テストとして、時計を単体テストに入れました。正しく呼び出され、テストに合格します。

ソース (時計自体をテストに入れるように変更)

ディレクティブ ソース コード

これは、watch ステートメントを含むディレクティブ コードです。

セットアップコード

テスト用のすべての初期化コードは次のとおりです。

アップデート

コメントによると、ディレクティブにスコープを設定しているとは思いません。それを可能にするAPIは何も見当たりません。$compileスコープを設定しようとして、呼び出しのいくつかの順列を試しました。

html から要素を作成し、それをコンパイルに渡します。運がない。

最初に要素を作成することによって

問題がディレクティブにスコープを設定していないということである場合、エラーは mybeforeEachにある可能性が高いと思います。ここにあります:

0 投票する
17 に答える
210946 参照

javascript - 入力を数字のみを受け入れるように制限するにはどうすればよいですか?

AngularJSでngChangeを使用して、ユーザーが入力に追加した文字を削除するカスタム関数をトリガーしています。

numbersOnly()問題は、入力された文字を削除できるように、トリガーされた入力をターゲットにする必要があることです。私はグーグルで長くそして一生懸命見てきました、そしてこれに関して何も見つけることができませんでした。

私に何ができる?

0 投票する
5 に答える
56915 参照

angularjs - オブジェクトをディレクティブに渡すAngularjs

Angular初心者はこちら。オブジェクトをディレクティブに渡すときに何が問題になっているのかを理解しようとしています。

これが私の指示です:

これは、ディレクティブを呼び出すテンプレートです。

store.walksオブジェクトの配列です。

これを実行すると、スコープとして正常にscope.walksログに記録され、探しているすべてのデータを持つ子が作成されます。undefinedscopewalks

この正確な方法は以前に私のために働いていたので、私はここで何が間違っているのかわかりません。

編集:

必要なすべてのコードを使用してプランカーを作成しました: http://plnkr.co/edit/uJCxrG

ご覧のとおり{{walks}}、スコープで使用可能ですが、未定義としてログに記録されているリンク関数でアクセスする必要があります。

0 投票する
1 に答える
5168 参照

angularjs - angularjsでディレクティブを書く方法

ディレクティブを使用してカスタム コンポーネントを作成するのが好きです。私は多くのチュートリアルをチェックしましたが、混乱してしまいました。誰でもディレクティブがどのように機能するかを説明できます。私が作る予定のコンポーネントは

シャウトリストのテンプレートはこのようになります

0 投票する
1 に答える
279 参照

templates - 外部jsライブラリを使用したAngularのテンプレート

templateUrlパラメータを介してテンプレートで機能する要素ディレクティブを作成しました。このテンプレートには、約8つの外部jsライブラリ(jquery fileuploadプラグイン)を必要とするfileupload入力が含まれています。テンプレートにこれらのjsライブラリへのリンクがある場合(標準のスクリプト要素を使用)、すべてが正常に機能しますが、読み込み時にブラウザコンソールにエラーがあります。

jsライブラリへのリンクを、ディレクティブがあるページに直接配置すると、エラーは発生しませんが、再利用性を高めるには適していません。

0 投票する
2 に答える
6117 参照

javascript - javascript からの .cshtml ビューへのリンク

javascriptファイルから.cshtmlビューを直接指すにはどうすればよいですか? たとえば、angular.js で .cshtml ビューを使用できないのはなぜですか? この例のように:

もちろん、何でも好きなものを返すアクション メソッドを持つことは可能ですが、カミソリ ビューを直接参照できるかどうかに興味があります。

0 投票する
7 に答える
29982 参照

angularjs - templateUrlをその場で変更できますか?

ディレクティブのスコープに値を渡すことで、templateUrlをその場で変更することは可能ですか?ディレクティブから渡されたデータに基づいてページをレンダリングするコントローラーにデータを渡したい

多分そのように見える何か:

0 投票する
1 に答える
1091 参照

angularjs - ng-repeat を使用しない配列のディレクティブ

もう一度、パフォーマンスの低下に遭遇しng-repeat、要素の配列をレンダリングするディレクティブを構築する方法がわかりませんng-repeat(テンプレートであっても)。

それで、どうやってそれをしますか?

要素ごとにテンプレートを使用して配列を反復処理しても、次のようになります。

すべての要素に対して 1 つのテンプレートを使用ng-repeatすることを選択した場合も、その中で使用する以外に選択肢がなく、ngRepeatWatchers が作成され、すべてが再び遅くなります。

0 投票する
1 に答える
82 参照

javascript - 定期的な UI 更新の最適化

ページ全体の速度が低下している原因を突き止めました。

Resig の prettyDate jquery プラグインに基づいて日付を更新するディレクティブがあり、イベントが発生した時間を便利な形式で表示します...ディレクティブ自体は、ドキュメント ページで使用されている角度のサンプルを中心に構築されています

ページにいくつかの要素がある場合は完全に機能しますが、要素を増やすと、更新の間隔を長くしても、すべての要素が同時に更新されるため、時間が常に更新されるため、ページ全体が遅くなります。

それに対する解決策を提案できますか?どういうわけかそれらを非同期に更新することは可能ですか、それとも別のスレッドのようにばかげているように聞こえることはわかっています。

パフォーマンスを犠牲にすることなく何千もの要素を更新するにはどうすればよいでしょうか?