タグ付けされた質問 「angularjs」

オープンソースのJavaScriptフレームワークであるAngularJS(1.x)に関する質問に使用します。Angular 2以降のバージョンではこのタグを使用しないでください。代わりに、[angular]タグを使用してください。

6
Angular uiルーターユニットテスト(状態からURL)
Angularuiルーター上に構築されたアプリケーションでルーターの単体テストに問題が発生しています。私がテストしたいのは、状態遷移がURLを適切に変更するかどうかです(後でもっと複雑なテストがありますが、ここから始めます)。 これが私のアプリケーションコードの関連部分です: angular.module('scrapbooks') .config( function($stateProvider){ $stateProvider.state('splash', { url: "/splash/", templateUrl: "/app/splash/splash.tpl.html", controller: "SplashCtrl" }) }) そしてテストコード: it("should change to the splash state", function(){ inject(function($state, $rootScope){ $rootScope.$apply(function(){ $state.go("splash"); }); expect($state.current.name).to.equal("splash"); }) }) Stackoverflow(および公式のUIルーターテストコード)に関する同様の質問は、$ state.go呼び出しを$ applyでラップするだけで十分であることを示唆しています。しかし、私はそれをしました、そして、状態はまだ更新されていません。$ state.current.nameは空のままです。

5
AngularJS-プログラムで新しい分離スコープを作成するにはどうすればよいですか?
Angular.factoryを使用してAlertFactoryを作成したいと思います。次のようなhtmlテンプレートを定義しました var template = "<h1>{{title}}</h1>"; タイトルはコントローラーを呼び出すことによって提供され、次のように適用されます var compiled = $compile(template)(scope); body.append(compiled); では、分離されたスコープをコントローラーからファクトリに渡すにはどうすればよいですか?私はコントローラーのフォローコードで使用しています AlertFactory.open($scope); ただし、$ scopeはグローバルコントローラースコープ変数です。タイトルプロパティだけでファクトリの小さなスコープを渡したいだけです。 ありがとうございました。

5
永続モデル(サーバーデータベース)が外部アプリによって変更された場合、AngularJSはビューを自動更新できますか?
AngularJSに慣れ始めたばかりですが、サーバー側のデータベースで何かが変更されたときに、ユーザーがリアルタイムで(更新なしで)自動更新されるビューを持つWebアプリを構築したいと思います。 AngularJSはこれを(ほとんど)自動的に処理できますか?もしそうなら、機能している基本的なメカニズムは何ですか? たとえば、「モデル」の変更についてDBを定期的にポーリングするようにAngularJSを設定しますか?または、Cometのようなメカニズムを使用して、モデルが変更されたことをAngularJSクライアント側コードに通知しますか? 私のアプリケーションでは、他の(Web以外の)サーバー側ソフトウェアがデータベースを更新することがあるという課題があります。ただし、この質問は、AngularJS Webクライアントを介してデータベースを変更する複数のクライアントが存在する可能性がある純粋なWebアプリにも同様に当てはまり、そのうちの1つがDB(モデル)に変更を加えるときにそれぞれを更新する必要があります。

4
AngularJSで分離スコープディレクティブを単体テストする方法
AngularJSで分離スコープを単体テストするための良い方法は何ですか ユニットテストを示すJSFiddle ディレクティブスニペット scope: {name: '=myGreet'}, link: function (scope, element, attrs) { //show the initial state greet(element, scope[attrs.myGreet]); //listen for changes in the model scope.$watch(attrs.myGreet, function (name) { greet(element, name); }); } ディレクティブが変更をリッスンしていることを確認したい-これは分離されたスコープでは機能しません: it('should watch for changes in the model', function () { var elm; //arrange spyOn(scope, '$watch'); //act elm …

2
動的なモジュールセットを使用したAngularJSアプリの開発
ユーザーが(事前定義された100以上のウィジェットのセットから選択して)ウィジェットを配置(ドラッグ/ドロップ)できる複雑なレイアウトのアプリケーションがあります。すべてのウィジェットは、データのセットを表示するカスタム実装です(REST呼び出しを使用してフェッチされます)。特定の方法で。たくさんのブログ投稿、stackoverflowの質問、公式のAngularJSドキュメントを読みましたが、そこでの要件を処理するためにアプリケーションをどのように設計すればよいかわかりません。デモアプリを見ると、単一のモジュール(ng-app)があり、それを.jsファイルで構築すると、依存モジュールが依存関係として宣言されますが、ウィジェットのセットが大きいため、すべてを説明することはお勧めできません。そこ。次の質問についての提案が必要です。 アプリとウィジェットをどのように設計する必要がありますか?個別のAngularJSモジュールを用意する必要がありますか、それとも各ウィジェットをメインモジュールへのディレクティブにする必要がありますか? ウィジェットをディレクティブとして設計する場合、ディレクティブ内で依存関係を定義する方法はありますか?つまり、私のディレクティブはその実装でng-calenderを使用していると言いますか? 各ウィジェットを個別のモジュールとして設計する場合、ウィジェットモジュールを依存関係としてメインモジュールに動的に追加する方法はありますか? コントローラーをどのように設計すればよいですか?ウィジェットごとに1つのコントローラーが必要ですか? ビューに同じタイプのウィジェットが複数ある場合、状態(スコープ)をどのように分離する必要がありますか? AngularJSで再利用可能なウィジェットを設計するためのベストプラクティスはありますか? 編集 役立つ参考資料: ocLazyLoad-AngularJS用の優れた遅延読み込みライブラリ シードプロジェクト-モジュール+ルート変更時の遅延読み込み(ES6、systemjs、ocLazyLoad) AngularJSでの遅延読み込み AngularJSとRequireJSを使用してコントローラーとビューを動的に読み込む アプリケーションのブートストラップ後にRequireJSを使用してAngularJSコンポーネントをロードする GitHubでのAngularJSリソースの遅延読み込みに関するデモプロジェクト ロードオンデマンドプロジェクト 必要な場合にのみモジュールを動的に注入する Angular記事の別の遅延読み込み 大規模なAngularJSおよびJavaScriptアプリケーションでのコード編成

9
ビューが開かれる/表示されるたびにコントローラー関数を実行します
下部に3つのイオンタブがあるクラシックな3ボタンメニューを使用するangular + ionicのアプリを作成しています。ユーザーがタブをクリックすると、そのテンプレートがui-routerを介して開きます。 私はこのような状態を持っています: $stateProvider .state('other', { url: "/other", abstract: true, templateUrl: "templates/other/other.html" }) テンプレートでは、次のようにします。 <ion-nav-view name="other" ng-init="doSomething()"></ion-nav-view> コントローラーにdoSomething()関数を記述して、そこで手動で呼び出すことができることを認識しています。それでも同じ問題が発生します。誰かがそのビューを開くたびに、doSomething()関数を複数回呼び出す方法を理解できないようです。 現在、doSomething()関数は問題なく呼び出されますが、そのビュー/タブがユーザーによって初めて開かれたときのみです。ユーザーがそのビューまたはタブを開くたびに(ジオロケーションを更新するために)関数を呼び出したいのですが。 それを実装する正しい方法は何でしょうか? 助けてくれてありがとう!

7
Angularjs $ state新しいタブでリンクを開く
$ state.go関数を使用して「新しいタブでリンクを開く」関数を実装しようとしています。次のようなsmthがあったら素晴らしいでしょう: $state.go('routeHere', { parameter1 : "parameter" }, { reload : true, newtab : true // or smth like target : "_blank" }); AngularJSを使用してそれを行う方法はありますか?

13
AngularForm送信のすべてのフィールドの検証をトリガーします
私はこの方法を使用しています:http://plnkr.co/edit/A6gvyoXbBd2kfToPmiiA?p = previewはぼかしのフィールドのみを検証します。これは正常に機能しますが、ユーザーが[送信]ボタン(実際の送信ではなく、関数へのdata-ng-click呼び出し)をクリックしたときに、それらを検証します(したがって、これらのフィールドのエラーがあれば表示します)。 そのボタンをクリックしたときに、すべてのフィールドで検証を再度トリガーする方法はありますか?
81 forms  angularjs 


6
AngularJS:ng-modelがngにバインドされていません-チェックボックスがチェックされています
私はこの質問をする前にこれを参照しました。 AngularJsはngをバインドしません-ng-modelでチェック 側でng-checked評価さtrueれた場合html、ng-modelは更新されません。ng-repeatチェックボックスごとにスタイルを使用する必要があるため、上記の質問で提案されているようにできません。 これが私の問題を説明するために作成したプランカーです。 http://plnkr.co/edit/YsOsPh3vjkPMUUDa6r2t 欲しいものを見るには、コンソールを開いてSubmitボタンをクリックしてください。チェックボックスはチェックしないでください。 前もって感謝します!

2
ブールプロパティによる「trackby」を使用したAngular1.2ng-repeatのフィルタリング
ブールプロパティの値に基づいていくつかのリストアイテムをフィルタリングしようとしていますが、何をしてもリスト全体が常に表示されます。私が試したもののいくつかは、何も表示されないほど壊れていますが、それはここにもそこにもありません。フィルタリングを希望どおりに機能させることができません。 $scope.attendees = [ {"firstname":"Steve", "lastname":"Jobs", "arrived":true, "id":1} ,{"firstname":"Michelle", "lastname":"Jobs", "arrived":false, "id":2} ,{"firstname":"Adam", "lastname":"Smith", "arrived":true, "id":3} ,{"firstname":"Megan", "lastname":"Smith", "arrived":false, "id":4} ,{"firstname":"Dylan", "lastname":"Smith", "arrived":false, "id":5} ,{"firstname":"Ethan", "lastname":"Smith", "arrived":false, "id":6} ]; 次のng-repeatフィルタリングを使用します。 <ul> <li ng-repeat="person in attendees track by person.id | filter:arrived:'false'"> {{person.lastname}}, {{person.firstname}} </li> </ul> 参照されていることがわかるすべての順列を試したように感じます。そのほとんどは、さまざまなStackOverflow検索結果からのものです。 filter:'arrived' filter:arrived filter:'person.arrived' filter:person.arrived filter:{arrived:true} …

6
AngularJSの場合は未定義またはnull
時計処理関数を作成するときは、newValパラメータをオンundefinedとでチェックしますnull。AngularJSにそのような動作があるのに、特定のユーティリティメソッドがないのはなぜですか?ですangular.isUndefinedが、ありませんangular.isUndefinedOrNull。手作業でそれを実装するのは難しいことではありませんが、各コントローラーでその機能を持つために角度をどのように拡張しますか?Tnx。 編集: 例: $scope.$watch("model", function(newVal) { if (angular.isUndefined(newVal) || newVal == null) return; // do somethings with newVal } そのような方法で処理することは一般的に受け入れられている慣行ですか? 編集2: JSFiddleの例(http://jsfiddle.net/ubA9r/): <div ng-app="App"> <div ng-controller="MainCtrl"> <select ng-model="model" ng-options="m for m in models"> <option value="" class="ng-binding">Choose model</option> </select> {{model}} </div> </div> var app = angular.module("App", []); var MainCtrl = function($scope) …

14
IonicFrameworkを使用したログイン/ログアウト時の履歴のクリアとページの再読み込み
Ionicを使用したモバイルアプリケーション開発は初めてです。ログインおよびログアウト時に、データを更新するためにページをリロードする必要がありますが、リロード$state.go('mainPage')せずにユーザーをビューに戻します。その背後にあるコントローラーが呼び出されることはありません。 履歴をクリアしてIonicで状態をリロードする方法はありますか?

7
AngularJsに隠された可視性?
<button id="tagBtnId" name="TagsFilter" ng-show="disableTagButton">Tags</button> NG-showが適用されるdisplay: noneか、display: blockプロパティしかし、私は、適用したいvisibility: hiddenとvisibility: visibleプロパティ。
80 html  css  angularjs 

4
Angular.jsコントローラーパラメーターを理解する
私はAngular.jsを学び始めたばかりで、Angularホームページの「WireupaBackend」の例でproject.jsを見てきました。 コントローラー関数のパラメーターについて混乱しています。 function ListCtrl($scope, Projects) { ... } function CreateCtrl($scope, $location, $timeout, Projects) { ... } function EditCtrl($scope, $location, $routeParams, angularFire, fbURL) { angularFire(fbURL + $routeParams.projectId, $scope, 'remote', {}). then(function() { ... }); } これらのコントローラー関数はrouteProviderで呼び出されますが、パラメーターは指定されていません。 $routeProvider. when('/', {controller:ListCtrl, templateUrl:'list.html'}). when('/edit/:projectId', {controller:EditCtrl, templateUrl:'detail.html'}). when('/new', {controller:CreateCtrl, templateUrl:'detail.html'}). otherwise({redirectTo:'/'}); }); 私がこれまでに見つけた唯一のことは、おそらく何が起こっているのかを説明しているのは「コントローラーへのサービスの注入」です。これは$location、を説明して$timeoutいますが、パラメーターメソッドangularFireとは説明していませんfbURL。 私の具体的な質問は次のとおりです。 コントローラのパラメータは何でしょうか? …
80 angularjs 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.