Angular.orgのドキュメントでもどこでも検索しようとしましたが、実装に関する詳細な説明が見つかりませんでした。誰かがそれを説明することができればそれは非常に役に立ちます。
Angular.orgのドキュメントでもどこでも検索しようとしましたが、実装に関する詳細な説明が見つかりませんでした。誰かがそれを説明することができればそれは非常に役に立ちます。
回答:
angle.noopは空の関数であり、関数をパラメーターとして渡す必要がある場合にプレースホルダーとして使用できます。
function foo (callback) {
// Do a lot of complex things
callback();
}
// Those two have the same effect, but the later is more elegant
foo(function() {});
foo(angular.noop);
noop
関数を空白のままにするのではなく、呼び出すことの利点は何ですか?美学、パフォーマンス、または何か他のもの?
angular.noop
(毎回新しい無名関数を宣言するのではなく)常に同じ空の関数を再利用するので、見た目が良く、使用することをお勧めします。のコードangular.noop
はnoop
。という名前の空の関数であるため、パフォーマンス面では違いはありません。
コールバックを期待する関数を書くときに非常に役立つと思います。
例:
function myFunction(id, value, callback) {
// some logic
return callback(someData);
}
上記の関数は、3番目の引数を指定せずに呼び出されると、エラーを返します。 myFunction(1, 'a');
例(を使用angular.noop
):
function myFunction(id, value, callback) {
var cb = callback || angular.noop; // if no `callback` provided, don't break :)
// some logic
return cb(someData);
}
typeof callback === 'function' && callback();
。はるかに上品です^^。しかし使用してangular.noop
いません。
操作を行わない機能です。これは、次のような状況で役立ちます。
function foo(y) {
var x= fn();
(y|| angular.noop)(x);
}
機能的なスタイルでコードを書くときに便利です
//do nothing on the success callback, hence replacing the success callbck function with angular.noop()
かもしれません:- $ scope.contacts = Contacts.query(angular.noop、function(response){Window.myresp = response; $ scope.displayError(response); console.log( "bad boy、listContacts failed ");});
*この回答は、uがAngularの初心者ではないことを前提としています
Angular.noopは空の関数であり、場合によってはプレースホルダーとして使用できます
例えば:
APIを複数回呼び出して1つのpromiseを返すq.allを使用していると想像してください。これらの呼び出しの一部が失敗したが、失敗しなかった呼び出しを処理する必要がある場合は、呼び出しをキャッチしたときにapi呼び出しへのコールバックとしてangularnoopを使用します。uがangularnoopを使用しない場合、1つの呼び出しが失敗すると、q.allはすべてを拒否します。
Q.all(somecall.catch(angular.noop)、anothercall).then(解決結果[0]および結果[1])
呼び出しが失敗した場合、Angularはそれを無視して別の呼び出しを実行します(ただし、最初に解決された結果に対してuは未定義のままです)
私が助けてくれることを願っています
var result = (callback || angular.noop)(params)
その最短の方法
var result = typeof callback === 'function' && callback(params);
コールバック変数が関数になることを考慮に入れる
公式ドキュメントが必要な場合は、ここにリンクがあります。とても簡単です。また、リンクから現在のドキュメントを貼り付けました。
操作を行わない関数。この関数は、関数スタイルでコードを記述するときに役立ちます。
function foo(callback) {
var result = calculateResult();
(callback || angular.noop)(result);
}
トリック:これを使用して、ng-click
属性に3進数を追加することもできます。
ng-click="(variable) ? doSomething() : angular.noop()"
私が知るまでは、ng-click = "variable && doSomething()" `を使用できます。
ng-click="(variable) ? doSomething() : true"
また機能します