快速提问
我使用角度带来显示一些警报,每个警报都在一个不同的变量中,但我想避免这样做,有人告诉我使用lodash中的_.extend
,但我应该如何使用它在这个特例中?
var loaderAlert1 = $alert({
animation: 'fx-bounce-right',
content: 'Loading content, please wait...',
container: '.alerts-container',
type: 'info',
show: true
}),
loaderAlert2 = $alert({
animation: 'fx-bounce-right',
content: 'Adding Line to BetSlip',
container: '.alerts-container',
type: 'info',
show: false
}),
loaderAlert3 = $alert({
animation: 'fx-bounce-right',
content: 'Loading your messages, please wait...',
container: '.alerts-container',
type: 'info',
show: false
});
如您所见,几乎相同,但在某些情况下,show attr设置为true或false,content:
也会更改。
我拨打此提醒的方式:loaderAlert1.show()
或loaderAlert1.hide()
等等......
所以我想做一些像
这样的事情var loaderAlert = $alert({
animation: 'fx-bounce-right',
content: 'Loading content, please wait...',
container: '.alerts-container',
type: 'info',
show: true
});
loaderAlert = {content: 'loading something else'};
loaderAlert = {content: 'loading something GREAT'};
loaderAlert = {content: 'loading only ROCK N ROLL'};
我只声明一个变量,然后一旦我调用变量,我就可以更改content:
...但我不知道_.extend
,here is the function I mentioned的方式。
答案 0 :(得分:1)
我认为这应该可以解决问题:
function customAlert( content ) {
var loaderAlert = $alert({
animation: 'fx-bounce-right',
content: content,
container: '.alerts-container',
type: 'info',
show: true
});
return loaderAlert;
}
Еdit:
var content = 'loading something else', // choose one of the three choices here
loaderAlert = customAlert(content);
答案 1 :(得分:1)
var loaderAlert = $alert({
animation: 'fx-bounce-right',
container: '.alerts-container',
type: 'info',
show: true
});
loaderAlert = _.extend({content: 'loading something else'}, loaderAlert);
答案 2 :(得分:1)
_.extend
会对您有所帮助,但在调用$alert
之间重新使用对象可能是一个坏主意 - 您可能会发现需要返回给定的content
值后来。
如果您将新对象作为_.extend
的第一个参数,则可以克隆每个警报的基本参数:
var base = {
animation: 'fx-bounce-right',
content: 'Loading content, please wait...',
container: '.alerts-container',
type: 'info',
show: true
}
$alert(_.extend({}, base, { content: 'first alert' }));
$alert(_.extend({}, base, { content: 'second alert' }));
$alert(_.extend({}, base, { content: 'third alert' }));