Polymer.dart里面有没有类似angular$rootScope的东西?

Is there something similar to angular $rootScope in Polymer.dart?

我知道在 angular 中存在一个叫做 $rootScope 的东西。这一个包含将由所有控制器共享的变量。我正在寻找与 Polymer 类似的东西,这样我就不需要始终将 parent 变量作为属性传递。

现在我正在做类似的事情:

索引html代码:

<body>
  <my-parent-component some-attribute="hello"></my-parent-component>
</body>

parent html 代码:

<my-parent-component>
  <template>
    <p>someAttribuet could be used by parent: {{someAttribute}}</p>
    <my-child-component some-attribute="{{someAttribute}}"></my-child>
  </template>
</my-parent-component>

parent飞镖代码:

class MyParentComponent extends PolymerElement {
  @published var someAttribute;
}

childhtml代码:

<my-child-component>
  <template>
    <p>some Attribute used here: {{someAttribute}}</p>
  </template>
</my-child-component>

child飞镖代码:

class MyChildComponent extends PolymerElement {
  @published var someAttribute;
}

换句话说,我从顶部 parent 一直向下传递属性,直到最低 child。我认为这不好,我想用类似于 angular.

中的 $rootScope 的东西来做

Polymer 没有根作用域。在 Polymer 中,只有元素以及您可以在表达式中引用的父元素或子元素。更通用的解决方案是全局变量或全局元素,如此处所述