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

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

4
Webstorm:「ディレクトリを解決できません」
これは私にバグをもたらし始めており、私はそれをオフにするか、修正したいです。したがって、WebstormのHTMLパーサーには、プロジェクト内のファイルを参照するはずの文字列内のディレクトリを解決しようとする優れた機能があります。例えば: ウェブストームは正しいです。私のフロントエンドコードはすべて含まれて/appいますが、私のサーバーはルート上のアプリでファイルを提供するため、Webコンテキストで/appは実際にはだけ/です。余談ですが、この動作は角度テンプレートにも影響します。 そして私のangular-uiルート(私はそれが通常のangularルートにもそれをするだろうと想像します)。 /appルートとして扱うようにウェブストームを変更できる方法はありますか?これは便利な機能ですか?そうでない場合、これを無効にする方法はありますか?私はインスペクターに行ってみましたが、そのオプションが見つかりませんでした: いいえ、それはXMLではありません...試してみました。 感謝してください。ありがとう...

2
AngularJSに現在のユーザーコンテキストを保存するにはどうすればよいですか?
ユーザーにログインするAuthServiceがあります。それはユーザーのjsonオブジェクトを返します。私がしたいことは、そのオブジェクトを設定し、ページを更新する必要なく、すべての変更をアプリケーション全体に反映させることです(ログイン/ログアウト状態)。 AngularJSでこれをどのように達成しますか?
92 angularjs 

3
requireの意味は何ですか: 'ngModel'?
これは私のディレクティブのHTMLです。 <textarea data-modal="modal" data-mydir ng:model="abc"></textarea> 私のディレクティブではこれがあります: return { require: 'ngModel', replace: true, scope: { modal: '=modal', ngModel: '=', pid: '=pid' }, 誰かが私に言うことができます、require: 'ngModel'の意味は何ですか?これは多くの異なるディレクティブで見られます。これをデータモーダルと呼んでもいいですか? データモーダルに変更すると、Angularからのメッセージが表示されるので混乱しています Controller 'ngModel', required by directive 'textarea', can't be found!
92 angularjs 

8
Angularjs:値の変更中にinput [text] ngChangeが発生します
ngChangeは、値が変化しているときに発生します(ngChangeは、従来のonChangeイベントに似ていません)。クラシックなonChangeイベントをangularjsにバインドするにはどうすればよいですか? 現在のバインディング: <input type="text" ng-model="name" ng-change="update()" />
92 angularjs 

6
if(!$ scope。$$ phase)$ scope。$ apply()をアンチパターンで使用するのはなぜですか?
$scope.$applyコードで使用する必要がある場合と、「ダイジェストがすでに進行中」のエラーがスローされる場合があります。だから私はこれを回避する方法を見つけ始め、この質問を見つけました:AngularJS:$ scope。$ apply()を呼び出すときにすでに進行中のエラー$ digestを防ぎます。ただし、コメント(およびAngular Wiki)では、以下を読むことができます。 (!$ scope。$$ phase)$ scope。$ apply()の場合は行わないでください。これは、$ scope。$ apply()がコールスタックで十分に高くないことを意味します。 だから今私は2つの質問があります: なぜこれがアンチパターンなのですか? $ scope。$ applyを安全に使用するにはどうすればよいですか? 「ダイジェストはすでに進行中」エラーを防ぐための別の「解決策」は$ timeoutを使用しているようです: $timeout(function() { //... }); それは行く方法ですか?安全ですか?だからここに本当の質問があります:「すでに進行中のダイジェスト」エラーの可能性を完全に排除するにはどうすればよいですか? PS:同期していない非Angularjsコールバックでのみ$ scope。$ applyを使用しています。(私が知る限り、変更を適用したい場合は$ scope。$ applyを使用する必要がある状況です)

6
AngularjsはorderBy後の$ indexが間違っています
Angular.jsは初めてですが、配列の並べ替えと並べ替えられたデータの処理に問題があります。 アイテムのリストがあるので、これまでのところ機能している「Store.storeName」で並べ替えます。しかし、データをソートした後、私の削除機能はもう機能していません。これは、ソート後に$ indexが間違っているため、間違ったデータが削除されるためだと思います。 どうすれば解決できますか?ビューではなくスコープでデータを並べ替えますか?どうやってするか? ここにいくつかの関連するコードがあります: ビューで: <tr ng-repeat="item in items | orderBy:'Store.storeName'"> <td><input class="toggle" type="checkbox" ng-model="item.Completed"></td> <td>{{item.Name}}</td> <td>{{item.Quantity}} Stk.</td> <td>{{item.Price || 0 | number:2}} €</td> <td>{{item.Quantity*item.Price|| 0 | number:2}} €</td> <td>{{item.Store.storeName}}</td> <td><a><img src="img/delete.png" ng-click="removeItem($index)">{{$index}}</a></td> </tr> そして私のコントローラーには、特定のデータを削除するこの削除関数があります: $scope.removeItem = function(index){ $scope.items.splice(index,1); } これは、ビューで注文する前にうまく機能します。重要なものが足りない場合は、すぐにお知らせください。 ありがとう!

4
ビューが読み込まれたときにAngularJS初期化コードを実行する
ビューをロードするときに、関連するコントローラーで初期化コードを実行したいと思います。 そのために、ビューのメイン要素でng-initディレクティブを使用しました。 <div ng-init="init()"> blah </div> そしてコントローラーで: $scope.init = function () { if ($routeParams.Id) { //get an existing object }); } else { //create a new object } $scope.isSaving = false; } 最初の質問:これは正しい方法ですか? 次に、発生する一連のイベントに問題があります。ビューには、「保存」ボタンがあります。これは、次のng-disabledようにディレクティブを使用します。 <button ng-click="save()" ng-disabled="isClean()">Save</button> isClean()関数は、コントローラに定義されています。 $scope.isClean = function () { return $scope.hasChanges() && !$scope.isSaving; } ご覧のとおり$scope.isSaving、init()関数で初期化されたフラグを使用しています。 問題:ビューが読み込まれると、関数の前に …
92 angularjs 


17
数値のみを受け入れるように入力を制限するにはどうすればよいですか?
AngularJSでngChangeを使用して、ユーザーが入力に追加した文字を削除するカスタム関数をトリガーしています。 <input type="text" name="inputName" data-ng-change="numbersOnly()"/> 問題は、入力されnumbersOnly()た文字を削除できるように、トリガーされた入力をターゲットにする必要があることです。私はGoogleをじっくりと見つめていましたが、これに関して何も見つけることができませんでした。 私に何ができる?

6
OPTIONSプリフライトリクエストをスキップするにはどうすればよいですか?
PhoneGapアプリを開発しましたが、今はモバイルウェブサイトに変わります。1つの小さな不具合以外はすべてスムーズに機能します。POSTリクエストを介して特定のサードパーティAPIを使用していますが、これはアプリでは問題なく機能しますが、モバイルWebサイトバージョンでは失敗します。 よく見ると、AngularJS(私はブラウザを推測します)が最初にOPTIONSリクエストを送信しているようです。今日、CORSについて多くのことを学びましたが、CORSを完全に無効にする方法がわかりません。私はそのAPIにアクセスできません(そのため、その側での変更は不可能です)が、私が取り組んでいるドメインをAccess-Control-Allow-Originヘッダーに追加しました。 これは私が話しているコードです: var request = { language: 'fr', barcodes: [ { barcode: 'somebarcode', description: 'Description goes here' } ] }; } var config = { headers: { 'Cache-Control': 'no-cache', 'Content-Type': 'application/json' } }; $http.post('http://somedomain.be/trackinginfo', request, config).success(function(data, status) { callback(undefined, data); }).error(function(data, status) { var err = new Error('Error message'); …
92 angularjs  post  cors 

5
angularjsでtimeIntervalをクリアまたは停止するにはどうすればよいですか?
私は定期的にサーバーからデータをフェッチするデモを行っています$interval。これを使用して、これを停止/キャンセルする必要があります。 どうすればこれを達成できますか?プロセスを再起動する必要がある場合、どうすればよいですか? 次に、もう1つ質問があります。一定の時間間隔を置いて、サーバーからデータをフェッチしています。使用する必要があります$scope.applyか$scope.watch? ここに私のプランカーがあります: app.controller('departureContrl',function($scope,test, $interval){ setData(); $interval(setData, 1000*30); function setData(){ $scope.loading=true; test.stationDashBoard(function(data){ console.log(data); $scope.data=data.data; $scope.loading=false; //alert(data); },function(error){ alert('error') }) ; } }); http://plnkr.co/edit/ly43m5?p=preview

3
angular ng-repeat表現に一致する場合、アイテムをスキップします
基本的にAngularに、ng-repeatの項目が式と一致する場合に項目をスキップするように指示する方法を探していcontinueます。 コントローラ内: $scope.players = [{ name_key:'FirstPerson', first_name:'First', last_name:'Person' }, { name_key:'SecondPerson', first_name:'Second', last_name:'Person' }] 今私のテンプレートでは、一致しないすべての人を表示したいと思いname_key='FirstPerson'ます。私はそれがフィルターである必要があると考えたので、それをいじるようにPlunkrをセットアップしましたが、運がありませんでした。Plunkrの試み

7
HTML要素のないAngularJS ng-repeat
私は現在、このコードを使用してリストをレンダリングしています: <ul ng-cloak> <div ng-repeat="n in list"> <li><a href="{{ n[1] }}">{{ n[0] }}</a></li> <li class="divider"></i> </div> <li>Additional item</li> </ul> ただし、<div>一部のブラウザでは、この要素が原因で非常に小さなレンダリングの欠陥が発生しています。divコンテナーなしでng-repeatを実行する方法、または同じ効果を達成するためのいくつかの代替方法があることを知りたいです。

2
カスタムAngularJSディレクティブの「置換」機能を使用するにはどうすればよいですか?
なぜreplace=trueか、replace=false以下のコード内の任意の影響を持っていませんか? replace = falseのときに「一部の既存のコンテンツ」が表示されないのはなぜですか? またはもっと謙虚に言えばreplace=true/false、ディレクティブの機能とは何か、そしてその使用方法を親切に説明できますか? 例 JS /角度: <script> angular.module('scopes', []) .controller('Ctrl', function($scope) { $scope.title = "hello"; }) .directive('myDir', function() { return { restrict: 'E', replace: true, template: '<div>{{title}}</div>' }; }); </script> HTML: <div ng-controller="Ctrl"> <my-dir><h3>some existing content</h3></my-dir> </div> ここのPlunkerでそれを見てください: http://plnkr.co/edit/4ywZGwfsKHLAoGL38vvW?p=preview

3
AngularJSカスタムフィルター関数
コントローラ内で、オブジェクトの配列をフィルタリングしたいと思います。これらの各オブジェクトは、文字列とリストを含むことができるマップです $filter('filter')(array, function)format を使用してみましたが、関数内の配列の個々の要素にアクセスする方法がわかりません。ここに私が欲しいものを示すスニペットがあります。 $filter('filter')(array, function() { return criteriaMatch(item, criteria); }); 次に、criteriaMatch()で、個々のプロパティのそれぞれが一致するかどうかを確認します var criteriaMatch = function(item, criteria) { // go thro each individual property in the item and criteria // and check if they are equal } これらすべてをコントローラーで実行し、リストのリストをコンパイルしてスコープに設定する必要があります。したがって、私は$filter('filter')この方法でのみアクセスする必要があります。これまでにネットで見つけたすべての例では、関数内に静的基準検索があり、基準オブジェクトを渡さず、配列内の各項目に対してテストしていません。

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