情景一
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控件并
不能自動識别換行符,此時便需要我們手動去識别。