2017-05-01 22 views
1

我已经成功地按照this blog的教程,想知道是否可以通过在Angular 2项目中启用Crafter CMS的内嵌编辑来进一步扩展它。我的第一次尝试如下包括此代码<@studio.iceAttr iceGroup="author"/>在角分量的模板:如何将Crafter CMS在线编辑与Angular 2集成?

<h1 <@studio.iceAttr iceGroup="author"/>>${title}</h1> 

但角度编译器坚持认为这是一个无效的HTML。据我所知,Crafter工作室将把上述代码转换为实际的HTML。因此,我认为我应该将生成的html添加到角度组件的模板中,但似乎也存在生成的值。有没有其他方法可以为Crafter CMS内的角度2应用程序进行内联编辑?

回答

0

首先,< @ studio.iceAttr iceGroup =“author”/>是服务器端标记。角度肯定不会识别它。我认为你需要将其转化为一个简单的API,它可以返回内联CSS内容。然后使用ngStyle将其绑定到您的Angular模板中。

我的代码假设,在你的代码component.ts:

cmsInlineCss: any; 

ngOnInit(private http: Http) { 
    this.http.get('api/cmsinlinecss/{para}').map(res => { 
     var css = res.json(); 
     var processedCss = ''; 

     // process css to JSON object string 

     this.cmsInlineCss = processedCss; 
    }); 
} 

在模板:

<h1 [ngStyle]="cmsInlineCss">${title}</h1> 
+0

这里的问题是,我不知道的阶段,其中服务器标签转换为等效的html标签。这不仅仅是一个内联的CSS,我需要注入到组件的html中,而且生成的htmls – ayago

+0

然后你可以创建一个包含你需要的服务器标签的页面。它将返回HTML并使用Angular http将其作为字符串使用,然后将其解析为JSON对象字符串。 – wannadream