Aurelia通过自定义元素将字符串绑定到模板

all*_*ded 3 aurelia aurelia-binding

我正在尝试创建一个易于重用的下拉组件。我想知道是否可以做这样的事情:

<dropdown title.bind="Projects"></dropdown>
Run Code Online (Sandbox Code Playgroud)

注意,我传递的是字符串“ Projects”而不是JS对象。然后我的下拉模板有:

<template>
  <li class="nav-item dropdown">
    <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">${title}</a>
    <div class="dropdown-menu">
      <a class="dropdown-item" href="#">Action</a>
      <a class="dropdown-item" href="#">Another action</a>
      <a class="dropdown-item" href="#">Something else here</a>
    </div>
  </li>
</template>
Run Code Online (Sandbox Code Playgroud)

当然,我还没有在演示代码中循环下拉列表项(将来要做)。请注意,我正在<a>${title}</a>模板中尝试使用标题。

Mir*_*vic 5

您可以在dropdown的视图模型中使用简单的可绑定对象,但是在将值设置为纯字符串时,请勿使用.bind

<dropdown title="Projects"></dropdown>
Run Code Online (Sandbox Code Playgroud)

当您使用时title.bind,Aurelia活页夹引擎将尝试将其解析为一个表达式并失败,因为您(可能)Projects在当前上下文中没有属性。