【发布时间】:2017-08-18 03:33:45
【问题描述】:
我有一个来自模型的值,它是一个相对较大的 html 字符串。它还有一个标记,需要用来自 Angular 的值替换。我想看看如何让两头都满足。
我的 HTML
<h2 class="sub-title"> @Model.WelcomeText </h2>
现在这个欢迎文本是一个相对而言具有标记的 html 字符串。像这样的
"Hi @@Name , Welcome to our Website. Click <a href='#'> here </a>
for more details. <small> For more details please visit blah blah
</small>
现在我需要用我的控制器中的模型值替换@@Name - $scope.Name
我试过了
<h2 class="sub-title" ng-init= $scope.welcomeText('@Model.WelcomeText') </h2>
然后在我的控制器中
function welcomeText(str)
{
return str.replace('@@Name',$scope.Name);
}
但由于 $scope.welcomeText 在 ng-init 中有无效值,它会在 html 本身中中断
关于如何实现这一点的任何指示? Model.Title 来自 Sitecore CMS。我在 JS 中没有那个价值
【问题讨论】:
-
为什么不在 $scope 中创建一个变量为
welcomeText并且 getter 应该具有逻辑或将 @@Name 替换为 $scope.Name ,然后以角度方式而不是 @987654326 使用它@ 使用ng-model=$scope.welcomText. -
@PM。我不能。我在 Js 中没有价值。我实际上,值 Model.Title 来自 CMS 系统。
-
您是否考虑过从 Sitecore 公开一个您可以在 Angular 中使用 AJAX 调用的 RESTful 服务?这将替换您的 Razor 代码 @Model.WelcomeText。
-
@DougCouto - 我考虑过,但这对于简单的标题文本来说太昂贵了。我做了其他事情并且奏效了。我已经回答了这个问题。不是最好的解决方案,但有效..