問題タブ [angular-template]
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.
javascript - Angular ルートが templateUrl をロードしない
angularjsルーティングを使用してtemplateUrlをロードできないようです。
django と angularjs を使用します。127.0.0.1:8000/phones/
に
移動すると、127.0.0.1:8000/phones/#/にリダイレクトされます
。次に、更新して再確認します。
どちらの場合も (初回と更新後)、TESTING 文字列が表示されます。コードは次のとおりです。
index.html
first.html
runserver コンソールから:
ご覧のとおり、angularjs ルーティングは HTML を要求しますが、それでも表示されません。
もう 1 つの質問は、コンソール出力に関するものです。リフレッシュしたときだけ first.html の GET リクエストを送信 (または単に表示) するのはなぜですか? ルーティングが最初に first.html を要求することを期待しています..
編集 ブラウザのコンソールを追加する:
EDIT #2 - 非縮小角度に変更した後にブラウザーのコンソールを追加する:
御時間ありがとうございます
angularjs - 表の上の AngularJS ディレクティブ
テーブルとテンプレート ディレクティブ rnRow があります
と結果
- < : >
- - : +
- 左右
- 0:3
- 1:2
でも見たい
- 0:3
- < : >
- - : +
- 左右
- 1:2
私は何を間違っていますか?
angularjs - Grails プラグインによって提供される JS ファイル内から AngularJS テンプレートをどのように指定しますか?
いくつかの Grails プラグインを取り込む Grails アプリがあります。これらのプラグインは、私自身だけでなく、他のいくつかの Grails アプリで再利用する必要があります。
Grails プラグインのいずれかの Resources Bundle で、次のように定義しています: 完全を期すためにこれを残していますが、その後 Asset-Pipline に切り替えました
プラグインの 1 つの Javascript ファイルで、次のディレクティブを定義しています。
コントローラーを正常に実行しているように見えますが、テンプレートを取り込もうとすると、チョークします。
GET /appname/directives/directivea/directivea.html 404 (見つかりません)
部分的なテンプレートが配置される場所ではないため、これは理にかなっています。しかし、それはどこでしょうか?その情報をプラグイン内に隔離しながら、すべてのダウンストリーム アプリケーションで使用できるようにするにはどうすればよいですか? 可能であれば、インライン テンプレートの定義は避けたいと思います。
**構造を含めるように編集**
プラグインの構造:
- grails アプリ
- conf
- PluginNameForGrailsResources.groovy
- BuildConfig.groovy
- コントローラー
- PluginControllerA.groovy
- PluginControllerB.groovy
- ドメイン
- PluginDomainA.groovy
- conf
- ウェブアプリ
- CSS
- ディレクティブ
- 指令
- ディレクティブa.js
- ディレクティブa.html
- 指令
- サービス
- restapis.js
- アプリケーションのプロパティ
- PluginNameForGrailsGrailsPlugin.groovy
私のプラグインを参照するアプリケーションの構造:
- grails アプリ
- conf
- BuildConfig.groovy
- コントローラー
- ドメイン
- ビュー
- レイアウト
- main.gsp
- index.gsp (リソース r:require タグによるディレクティブへの参照)
- レイアウト
- ウェブアプリ
- CSS
- main.css
- js
- index.js
- アプリケーションのプロパティ
**構造 POST-ASSET-PLUGIN-SWITCHOVER を含めるように編集** これ以上リソースが定義されていないため、BuildConfig.groovy はリソースの代わりにアセット パイプラインを参照するようになり、web-app 内のファイルはなくなりました
- grails アプリ
- conf
- BuildConfig.groovy
- コントローラー
- PluginControllerA.groovy
- PluginControllerB.groovy
- ドメイン
- PluginDomainA.groovy
- 資産
- JavaScript
- 指令
- ディレクティブa.js
- ディレクティブa.html
- サービス
- restapis.js
- 指令
- アプリケーションのプロパティ
- PluginNameForGrailsGrailsPlugin.groovy
- JavaScript
- conf
angularjs - ディレクティブを再利用するページ間を移動するときに、ディレクティブが順番に読み込まれない
同じコントローラーを使用する 2 つの別々のページがあります。
ページ間で変更するためにUIルーターの状態を使用しています。
これらには、テンプレートに templateUrl を順番に使用する次のディレクティブが含まれて
い
ます
。
ページ B
指令
_1 指令_3 指令_4
指令
_2
各ディレクティブには、その親スコープ $scope.array に双方向でバインドされた配列 $scope.array があり、それぞれがそのディレクティブ番号をその配列に追加します。
各ディレクティブもコンソール ログに「Here:」 + ディレクティブ番号を記録します。
共通コントローラーで $scope.array を監視し、内部の何かが変更されたときに $scope.array を出力する監視関数を設定しました。
ページ A に移動すると、コンソールに次のように表示されます
: 1
[1]
ここ: 2
[1,2]
移動してからページ A に移動すると、コンソールに表示されます
ここ: 1
ここ: 2
[1,2]
したがって、watch 関数は 1 回だけ起動します。
次に、奇妙なことが起こります。ページ B に到達すると、コンソールに表示されます
ここ: 1
ここ: 2
[1,2]
ここ: 3
[1,2,3]
ここ: 4
[1,2,3,4 ]
したがって、ディレクティブは順番にロードされていないようです! 直観的に、最終的な順序は、ディレクティブがページにどのように配置されているかのように、1、3、4、2 になります。
Angular はテンプレート間でスマートな比較を行い、いくつかのディレクティブが既に読み込まれていると判断し、新しいディレクティブを試す前にそれらを即座に実行していますか?
2 回目にページ B に戻ると、通常どおり読み込まれます。何が起こっている?
angularjs - AngularJS: Angular UI Router がテスト用に複数のテンプレートをロードする
作成したヘルパー関数で簡単なテストを実行しようとしています:
そして、これが私が使用しているテストです。getService は単に Angularinject()
関数のラッパーであることに注意してください。
私のルーターは次のようになります。
現在の状態を 1 に設定しようとしてposts.details
い_id
ます。次に、ヘルパー関数をテストして、ID が正しく取得されているかどうかを確認します。
ただし、次のような状態のテンプレートでエラーが発生します。Unexpected request: GET /app/sections/posts/details/post-details.html
状態posts.details
は の子でposts
あり、両方とも独自のテンプレートを持っています。問題は、両方を にロードtemplateCache
できないか、少なくともその方法がわかりません。
テストを満たすために両方のテンプレートをロードすることは可能ですか?
javascript - Angularjs の非繰り返しテンプレート
私が見た angularjs のテンプレートのほとんどは、 or で動作しng-repeat
ますng-options
。ボタンなどのクリックイベントでオブジェクトを渡すことができ、テンプレートが一度だけレンダリングされるテンプレートが必要です。次のようなテンプレートがある場合のように
次のjqueryコードで説明されているように、このテンプレートをレンダリングしたい
実際、id を持つ anhcor タグがクリックされたときにテンプレートをレンダリングしたいと考えていlink1
ます。ngclick は、クリック イベント処理用です (これは、ngclick を使用して jquery または angular で実行できます)。私の目的は、書くのではなく、自分でオブジェクトをテンプレートに渡すことです
上記のアプローチは基本的に、関連するコントローラーの $scope 変数で question 属性を探します。しかし、テンプレートを 1 つのオブジェクトに対してのみレンダリングする必要があり、$scope 変数からではなく、レンダリングしようとしているときにオブジェクトをテンプレートに渡す必要があります。
Angualrでそれを行うにはどうすればよいですか?