最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

javascript - How to extend default options with Angular? - Stack Overflow

matteradmin6PV0评论

I need to extend default values with options in angular way:

var defaultOptions = {
      a: 'a'
    },
    options = {
      b: 'b'
    };
var result = $.extend({}, defaultOptions, options);

Please notice, that result is a new object, because I want to preserve both of the original objects defaultOptions and options.

I'm new in Angular, could you please help me to do the same result with angular in the most elegant way?

EDIT:

I have already found angular.extend() but I can't figure out a way how to preserve defaultOptions and options.

I know that I can do it this way:

var result = angular.extend({}, defaultOptions);
angular.extend(result, options);

But it doesn't look very elegant.

I need to extend default values with options in angular way:

var defaultOptions = {
      a: 'a'
    },
    options = {
      b: 'b'
    };
var result = $.extend({}, defaultOptions, options);

Please notice, that result is a new object, because I want to preserve both of the original objects defaultOptions and options.

I'm new in Angular, could you please help me to do the same result with angular in the most elegant way?

EDIT:

I have already found angular.extend() but I can't figure out a way how to preserve defaultOptions and options.

I know that I can do it this way:

var result = angular.extend({}, defaultOptions);
angular.extend(result, options);

But it doesn't look very elegant.

Share Improve this question edited Sep 15, 2014 at 7:23 Warlock asked Sep 15, 2014 at 7:12 WarlockWarlock 7,48110 gold badges56 silver badges75 bronze badges 2
  • @Satpal I want to preserve both of the original objects, defaultOptions and options. – Warlock Commented Sep 15, 2014 at 7:16
  • 1 @Satpal I need to do the same with Angular, not jQuery. – Warlock Commented Sep 15, 2014 at 7:18
Add a ment  | 

3 Answers 3

Reset to default 5

You need to use angular.extend

Extends the destination object dst by copying all of the properties from the src object(s) to dst. You can specify multiple src objects.

Usage

var result = angular.extend({}, defaultOptions, options)

Angular provides an extend function.

var result = angular.extend({},defaultOptions, options)

you can use angular copy

var result = angular.copy(defaultOptions );
Post a comment

comment list (0)

  1. No comments so far