我正在尝试制作指令模板多行。这可能吗?指令定义中的多行模板
myApp.directive('myDir', function() {
return {
restrict: 'E',
template: '<div>
|Hello,
|{{test}}!
|</div>'
};
});
这里是一个Fiddle看看我的意思。
我正在尝试制作指令模板多行。这可能吗?指令定义中的多行模板
myApp.directive('myDir', function() {
return {
restrict: 'E',
template: '<div>
|Hello,
|{{test}}!
|</div>'
};
});
这里是一个Fiddle看看我的意思。
在每行的末尾使用“\”。
myApp.directive('myDir', function() {
return {
restrict: 'E',
template: '<div>\
|Hello,\
|{{test}}!\
|</div>'
};
这里是你Fiddle
你也可以串联各个字符串:
myApp.directive('myDir', function() {
return {
restrict: 'E',
template: '<div>' +
'Hello,' +
'{{test}}!' +
'</div>'
};
});
我刚刚得知你可以使用波浪号(`)为多行模板下面的符号,
myApp.directive('myDir', function() {
return {
restrict: 'E',
template: `<div>
|Hello,
|{{test}}!
|</div>`
};
});
用于包含多行字符串的符号是反向(')并且是ES 2015标准的一部分,更多信息可以在这里找到 - https://stackoverflow.com/questions/27678052/what-is-the-usage-of-the-backtick-symbol-in-javascript – deepesh
您可以连接各个串和将这些加号放在每行的开头,而不是结尾。如果你使用4-space tabstop,这个效果很好:template
是8个字符长,所以所有的加号都会排在冒号下面。
myApp.directive('myDir', function() {
return {
restrict: 'E',
template: '<div>'
+ 'Hello, '
+ '{{test}}!'
+ '</div>'
};
});
这是JSFiddle。
这是令人惊讶的困难找到有关JavaScript是否关心是否将加号放在尾行或下一行开头的信息。如果有人有确切来源,请分享。在FF,Chrome,IE 11中测试过。我想,如果情况并非总是如此,句法变化很久以前就发生了。 –
请注意这一点。因为它不是ECMAScript的一部分! - > https://github.com/jgable/open-source/blob/master/styleguides/JavaScript/language-rules.md#multiline-string-literals – Christoph