如何处理tvOS MenuBarTemplate选择?

jon*_*uer 2 tvos tvml tvjs

我有一个基本的MenuBarTemplate设置和显示.

如何对用户的菜单选择做出反应并加载适当的内容模板?

Jef*_*wen 6

menuItem标记中包含template指向要加载的模板的presentation属性和设置为的属性menuBarItemPresenter.

<menuItem template="${this.BASEURL}templates/Explore.xml.js" 
  presentation="menuBarItemPresenter">
    <title>Explore</title>
</menuItem>
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用菜单栏的MenuBarDocument功能将文档与每个菜单栏项关联.

menuBarItemPresenter: function(xml, ele) {
  var feature = ele.parentNode.getFeature("MenuBarDocument");
  if (feature) {
    var currentDoc = feature.getDocument(ele);
    if (!currentDoc) {
      feature.setDocument(xml, ele);
    }
  }
Run Code Online (Sandbox Code Playgroud)

这是假设您使用的是Presenter.js像在文件中苹果的"TVML目录"样本.这里load指定的函数是调用menuItem's presentation属性中指定的函数.