angularjs手动识别字符串中的换行符

当在 AngularJS 中从资源配置文件加载字符串时,<textarea> 标签不识别 ' ' 换行符。通过使用 `newLineBySign` 函数,可以将 ' ' 替换为实际的换行,从而正确显示多行文本。该函数查找并替换字符串中的 ' ' 符号,解决了资源配置文件中的换行显示问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

情景一

html:

<textarea style="text-align: left;color: yellow;" disabled="true">{{value}}</textarea>

controller:

$scope.value="1.javaScript \n 2.html5 \n 3.C++";

显示:

1.javaScript

2.html5

3.C++    


情景二

html:

<textarea style="text-align: left;color: yellow;" disabled="true">{{value}}</textarea>

controller:

$scope.value=$scope.resource.valuestr; //从strings_en.properties文件中读取字符串


strings_en.properties:

valuestr=1.javaScript \n 2.html5 \n 3.C++

显示:

1.javaScript \n 2.html5 \n 3.C++

可见,这种情况下,<textarea>并没有识别'\n'换行符


解决办法:

function newLineBySign(value){
value=trim(value);
var result='';
if(value.indexOf("\\n")>0) { 
result=value.replace(/(\\n)/g,"$1\n");
result=result.replace(/(\\n)/g,"");

return result; 
}

controller:

$scope.value=newLineBySign($scope.resource.valuestr); //手动识别换行符

显示:

1.javaScript

2.html5

3.C++    


结束语:实际应用中,为了解决国际化问题,我们都会将字符串资源放到指定的配置文件中,比如我用到的

strings_en.properties和strings_zh.properties 分别表示英文和中文。从文件中获取字符串资源后html控件并

不能自动识别换行符,此时便需要我们手动去识别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值