ember.js 当在当前页面/模板上时,将ember按钮设置为raised = true

3okqufwl  于 2022-11-05  发布在  其他
关注(0)|答案(1)|浏览(105)
<div class="flex">
      <div class="layout-row layout-align-end-center">
        {{#paper-button href="overview" raised=true primary=true}}Overview{{/paper-button}}
        {{#paper-button href="incomes"}}Incomes{{/paper-button}}
        {{#paper-button href="expenses"}}Expenses{{/paper-button}}
        {{#paper-button href="settings"}}Settings{{/paper-button}}
      </div>
    </div>

所以我试图设置raised=true每当我在某个页面/模板。上面的代码是从我的应用程序模板。有没有任何方法可以做到这一点使用JS/Ember或我应该只是做它手动在我的每个模板?

s1ag04yj

s1ag04yj1#

我认为最好的方法是编写一个 Package paper-button的自定义组件。ember-route-helpers为您提供了很好的帮助:

{{#paper-button
  onclick={{transition-to @route)
  href=(url-for @route)
  raised=(is-active @route)
  primary=(is-active @route)
}}
  {{yield}}
{{/paper-button}}

然后可以将该组件与{{#your-component route="settings"}}Settings{{/your-component}}一起使用。
重要的是要明白你应该传递动作 * 和 * href。因为这样当人们点击按钮时,它会进行转换,不会重新加载整个页面,但右键点击-〉打开和屏幕阅读器不会损坏。

相关问题