如何在$ mdDialog中向textContent添加换行符

时间:2016-04-21 14:55:08

标签: angularjs

我想在mdDiaglog的.textcontent中添加换行符。 以下是我的代码:

var confirm = $mdDialog.confirm()
        .title('Refresh')
        .textContent('Some information will be lost.'+'<br>'+ 'Do you want to refresh?')
        .targetEvent(ev)
        .ok('YES')
        .cancel('NO');
  $mdDialog.show(confirm).then(function () {
          $window.location.reload();
  });
}

3 个答案:

答案 0 :(得分:21)

使用.htmlContent()。

  

$ mdDialogPreset #textContent(string) - 设置确认消息。   $ mdDialogPreset #htmlContent(string) - 将确认消息设置为HTML。需要加载ngSanitize模块。 HTML不是通过Angular的编译器运行的。

Documentation

答案 1 :(得分:6)

要完成此任务,您需要安装angular-sanitize.js。这个js可以从here下载。下载后,在加载angularJS后将其链接到您的项目。

<head>
    <script src="~/Scripts/jquery-1.10.2.min.js"></script>
    <script src="~/Scripts/angular/angular.min.js"></script>
    <script src="~/Scripts/sanitize/sangular-sanitize.js"></script>
</head>

由于这是一个提供者,因此您需要在模块中实例化并连接,以便应用程序正常工作。以下JS展示了如何注入提供者。

<script type="text/javascript">
    var app = angular.module('MyApp', ['ngMaterial','ngMessages', 'ngSanitize']);
    var baseUrl = 'http://localhost:54037/Home/'
</script>

之后,您可以在代码中使用.htmlContent,如下所示

$mdDialog.show(
$mdDialog.alert()
    .clickOutsideToClose(true)
    .title('Your Tile')
    .htmlContent("<h1>html</h1><h4>works</h4>")
    .ok('Okay!')
);

答案 2 :(得分:0)

以您的样式编写css类,并在文本Content()中使用'\ n'代替<br>

.md-dialog-content-body p{
   white-space: pre;
 }