码:
(function () {
var itemCtx = {};
itemCtx.Templates = {};
itemCtx.Templates.Header = “<div><b>Announcements</b></div><table>”; <---syntax error here?
itemCtx.Templates.Item = ItemOverrideFun;
itemCtx.Templates.Footer = “</table>”; <---syntax error here?
itemCtx.BaseViewID = 1;
itemCtx.ListTemplateType = 104;
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(itemCtx);
})();
function ItemOverrideFun(ctx) {
var _announcementTitle = ctx.CurrentItem.Title;
var _announcementDesc = ctx.CurrentItem.Body;
var _announcementID = ctx.CurrentItem.ID;
return “<tr><td><p><b>” + _announcementTitle + “</b></p>” + _announcementDesc +”<a href=’/Lists/Company%20Announcements/DispForm.aspx?ID=’+ _announcementID +’> Read More…</a></td></tr>”; <---syntax error here?
}
调用此代码后,Chrome控制台会提示存在无效或意外的令牌语法错误。
该错误显示在带有双引号的行上,并且在Chrome控制台中,双引号实际上已被替换为看起来像带有问号的菱形的图标。
到目前为止,我已经尝试用单引号将它们交换并将双引号括在单引号中,但都没有用。
谢谢。
最佳答案
拉尔提出了一个很好的观点。我已经将其固定在下方。
这里:
(function () {
var itemCtx = {};
itemCtx.Templates = {};
itemCtx.Templates.Header = "<div><b>Announcements</b></div><table>";
itemCtx.Templates.Item = ItemOverrideFun;
itemCtx.Templates.Footer = "</table>";
itemCtx.BaseViewID = 1;
itemCtx.ListTemplateType = 104;
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(itemCtx);
})();
function ItemOverrideFun(ctx) {
var _announcementTitle = ctx.CurrentItem.Title;
var _announcementDesc = ctx.CurrentItem.Body;
var _announcementID = ctx.CurrentItem.ID;
return "<tr><td><p><b>" + _announcementTitle + "</b></p>" + _announcementDesc +"<a href='/Lists/Company%20Announcements/DispForm.aspx?ID=" _announcementID +"'> Read More…</a></td></tr>";
这是问题所在:
”<a href=’/Lists/Company%20Announcements/DispForm.aspx?ID=’+ _announcementID +’>
您试图用单引号将字符串关闭,在连接
_announcementID
之前需要将双引号关闭