LoginSignup
16
17

More than 5 years have passed since last update.

AngularJsでよく使うAPI

Last updated at Posted at 2015-11-18

angular.module()などはAngularで実装する際、必ずと言っていいほど使用すると思いますが、そのほかのAngularのAPIで便利だなと思った関数あったので、書いてみました。

angular.copy

オブジェクトまたは配列をディープコピーします。
AngularJsでは同じ変数を参照してしまうと、双方向データバインディングの影響で、意図していない場所の値が変更されてしまう可能性があるので、その際によく使いました。

$scope.user = 'user1';
var user1.name = angular.copy($scope.user);

angular.forEach

いわゆるforEachしてくれます。obj内の各項目に対し、それぞれiterator関数を実行してくれる。iteratorの関数は、iterator(value, key)として実行され、valueにはオブジェクトのプロパティの値または配列の要素が入り、 keyにはオブジェクトのプロパティのキーまたは配列のインデックス番号が入ります。

var lists={ item1:'name1', item2:'name2', item3:'name3' };

angular.forEach(lists, function(val, key) {
// ~~
});

angular.merge

任意の複数オブジェクトを一つのオブジェクトにマージしてくれます。
配列でも使用できるようです。

var obj1={ item1:'name1', item2:'name2' };
var obj2={ item3:'name3', item4:'name4' };

var mergeObj = angular.merge(obj1, obj2);

angular.isDefinedなどis〜

対象が定義されているか否かを調べてくれます。定義されていればtrueが返ります。他にもisDateとかisArrayとかあり、条件分岐で複雑な処理を書かなくて良いので便利です。

var val = 'key';
angular.isDefined(val); // true

他にも便利なAPIが多数用意されているようなので、underscore.jsなど使用する前に一度目的のapiがないかどうか調べてみても良いかもですね。

16
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
17