4

我在 TodoMVC 示例的 index.html 中找到以下代码行:

<html lang="en" data-framework="backbonejs">

有人知道这个数据元素是用来做什么的吗?

4

1 回答 1

6

它与 TodoMVC 的依赖无关。此属性的唯一目的是允许附加侧面板,其中包含指向特定框架的文档的链接,特定版本的 TodoMVC 示例是使用该框架构建的。这就是它的完成方式:

if (!framework && document.querySelector('[data-framework]')) {
  framework = document.querySelector('[data-framework]')
      .getAttribute('data-framework');
}
// ...
if (template && learnJSON[framework]) {
  this.frameworkJSON = learnJSON[framework];
  this.template = template;

  this.append();
}       

Learn.prototype.append = function () {
  var aside = document.createElement('aside');
  aside.innerHTML = _.template(this.template, this.frameworkJSON);
  aside.className = 'learn';

  // Localize demo links
  var demoLinks = aside.querySelectorAll('.demo-link');
  Array.prototype.forEach.call(demoLinks, function (demoLink) {
    demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href'));
  });

  document.body.className = (document.body.className + ' learn-bar').trim();
  document.body.insertAdjacentHTML('afterBegin', aside.outerHTML);
};
于 2014-03-29T22:00:01.127 回答