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 に答える