首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XTemplate奇怪的行为

XTemplate奇怪的行为
EN

Stack Overflow用户
提问于 2010-08-08 01:21:50
回答 1查看 1.2K关注 0票数 0

为什么这个示例在使用双引号中的字符串构建XTemplate时会失败,当字符串在单引号中定义时,相同的示例也适用。代码就会悄悄地死掉

代码语言:javascript
复制
    var tplData = [{ // 1
    color : "#FFE9E9",
    name : 'Naomi White',
    age : 25,
    dob : '03/17/84',
    cars : ['Jetta', 'Camry', 'S2000']
    },{
    color : "#E9E9FF",
    name : 'John Smith',
    age : 20,
    dob : '10/20/89',
    cars : ['Civic', 'Accord', 'Camry']
}];
var myTpl = new Ext.XTemplate( // 2
    "<tpl for='.'>", // 3
    "<div style='background-color: {color}; margin: 10px;'>",
    "<b> Name :</b> {name}<br />",
    "<b> Age :</b> {age}<br />",
    "<b> DOB :</b> {dob}<br />",
    "</div>",
    "</tpl>"
);
myTpl.compile();
myTpl.append(document.body, tplData);   

单引号字符串也是同样的例子。

代码语言:javascript
复制
    var tplData = [{ // 1
    color : "#FFE9E9",
    name : 'Naomi White',
    age : 25,
    dob : '03/17/84',
    cars : ['Jetta', 'Camry', 'S2000']
    },{
    color : "#E9E9FF",
    name : 'John Smith',
    age : 20,
    dob : '10/20/89',
    cars : ['Civic', 'Accord', 'Camry']
}];
var myTpl = new Ext.XTemplate( // 2
    '<tpl for=".">', // 3
    '<div style="background-color: {color}; margin: 10px;">',
    '<b> Name :</b> {name}<br />',
    '<b> Age :</b> {age}<br />',
    '<b> DOB :</b> {dob}<br />',
    '</div>',
    '</tpl>'
);
myTpl.compile();
myTpl.append(document.body, tplData);       
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-08 08:03:05

我猜它并没有明确地说XTemplate操作符中需要双引号,但是所有的示例和文档都使用了双引号,这是推断出来的。这可能应该明确地说明。

第一个代码块中唯一的问题是"<tpl for='.'>",行。运算符中需要使用双引号,因此如果您更喜欢在模板字符串两边使用双引号,则必须转义任何运算符,如:"<tpl for=\".\">",或仅使用单引号字符串,以使您的工作更轻松。

顺便说一句,您可以通过查看XTemplate中的代码来验证这是必需的:

代码语言:javascript
复制
nameRe = /^<tpl\b[^>]*?for="(.*?)"/,

如您所见,正则表达式显式地需要一个带双引号的for操作符。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3431347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档