首页 > angularjs处理/n转<br/>时候 <br/>不会解析的问题

angularjs处理/n转<br/>时候 <br/>不会解析的问题

<!DOCTYPE html>
<html ng-app>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script src="angular.min.js"></script>
    <script>
        function TextareaCtrl($scope)
        {
            var str="啦啦11范德萨范德萨\nfadsfadsfad\nfdfadfa\nfdafa";
            $scope.name=str.replace(/\n/g,"<br/>");
        }
    </script>
</head>
<body>
    <div ng-controller="TextareaCtrl">
        <p>{{name}}</p>
    </div>
</body>
</html>

结果:

啦啦11范德萨范德萨<br/>fadsfadsfad<br/>fdfadfa<br/>fdafa

scope.Datas.userInfo.rich_summary=scope.Datas.userInfo.rich_summary.replace(/\r\n/gi,'<br/>')
            scope.Datas.userInfo.rich_summary=scope.Datas.userInfo.rich_summary.replace(/\r/gi,'<br/>')
            scope.Datas.userInfo.rich_summary=scope.Datas.userInfo.rich_summary.replace(/\n/gi,'<br/>')

转一下


要用到ng-bind-html

<!DOCTYPE html>
<html ng-app="test">
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <div ng-controller="TextareaCtrl">
        <p ng-bind-html="name"></p>
    </div>
    <script src="http://apps.bdimg.com/libs/angular.js/1.3.9/angular.min.js"></script>
    <script>
    var myModule = angular.module("test",[]);
    myModule.controller("TextareaCtrl",["$scope","$sce",function($scope,$sce){
            var str="啦啦11范德萨范德萨\nfadsfadsfad\nfdfadfa\nfdafa";
            $scope.name=$sce.trustAsHtml(str.replace(/\n/g,"<br/>"));
    }]);
    </script>
</body>
</html>

造成不解析的原因是angularjs对html进行了过滤,把< > 符号变为 & l t; & g t;,有图为证。我查了一下是可以禁用过滤器的,angularjs 实在不熟悉,帮不上你。

【热门文章】
【热门文章】