Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Polymer 数据绑定-主机属性存在但未声明_Polymer_Polymer 1.0 - Fatal编程技术网

Polymer 数据绑定-主机属性存在但未声明

Polymer 数据绑定-主机属性存在但未声明,polymer,polymer-1.0,Polymer,Polymer 1.0,我正在审查,特别是数据绑定 在blog-pages.html中,主机属性isLoading、postsActive和postsData未声明为blog-pages主机属性。这是怎么可能的,因为它们是博客页面主机属性 <app-route route="{{route}}" pattern="/posts/:slug" active="{{postsActive}}" data="{{postsD

我正在审查,特别是数据绑定

在blog-pages.html中,主机属性
isLoading
postsActive
postsData
未声明为
blog-pages
主机属性。这是怎么可能的,因为它们是
博客页面
主机属性

   <app-route route="{{route}}"
               pattern="/posts/:slug"
               active="{{postsActive}}"
               data="{{postsData}}"></app-route>

    <list-page category="{{category}}"
               active={{listActive}}
               loading="{{isLoading}}"></list-page>

    <post-page post="{{postsData.slug}}"
               active="{{postsActive}}"
               loading="{{isLoading}}"></post-page>

    <div class="overlay" hidden$="[[!isLoading]]">
      <paper-spinner active="[[isLoading]]"></paper-spinner>
    </div>

  </template>

  <script>
    Polymer({

      is: 'blog-pages',

      observers: [
        '_lockScroll(isLoading)'
      ],

      _lockScroll: function(isLoading) {
        if (isLoading) {
          document.body.style.overflow = 'hidden';
        } else {
          document.body.style.overflow = 'visible';
        }
      }

    });
  </script>

</dom-module>

聚合物({
是:“博客页面”,
观察员:[
'锁定卷轴(isLoading)'
],
_锁定滚动:功能(isLoading){
如果(孤岛加载){
document.body.style.overflow='hidden';
}否则{
document.body.style.overflow='可见';
}
}
});

这不是聚合物工作原理的最佳示例。。对于初学者来说,这可能会令人困惑。您编写的所有这些变量都是由某些聚合物的元素定义的

例如,在
blog app.html
中,您可以看到
app route
,它具有属性
数据
尾部
模式
。当您查看
app route.html
文件时,可以看到属性
tail
具有
notify:true
选项。这意味着,它将把这个属性传播到父元素。因此,当您在应用程序路由中定义绑定时,比如:
,那么在您的元素中将存在
someProp
属性

其他文件也是如此。例如,看看
isLoading
。在
blog pages.html
中,您可以看到有绑定到
isLoading
,但它没有定义。是的。在子元素中。因此,打开
list page.html
并查看
,您可以看到
load=“{{loading}}”
。同样的。查看
ironajax.html
中的内容,并找到属性
loading
。你看到了什么?再次
notify:true
选项。这意味着,它被传播到父级(
list page.html
),并且在
list page.html
中,您可以看到还定义了
load
属性,该属性具有
notify:true
,因此它再次被传播到父级(
blog page.html
)因为在
blog pages.html
中我们有binding
load=“{{isLoading}}”
,所以它被保存到
isLoading
属性中

这就是聚合物的工作原理。。这个项目的例子真的很难理解,对于初学者来说这是不可能的。我希望我的解释能帮你一点忙,但我想你现在更糊涂了


如果你有更多的问题,那就问吧。解释一些东西没有问题

我完全理解数据绑定以及它是如何工作的,我已经使用过很多次了-我的问题不是数据绑定是如何工作的。我的问题是这个例子如何与文档相关。有目标属性和主机属性。在博客页面中,
isLoading
是博客页面的主机属性,它可以存在并使用,而无需在博客页面中声明。与
postsActive
相同。最好指定您的问题。在第一句话中,您询问了数据绑定。没有关系。。。。。。。我试图阅读有关绑定的全部文档。。是的,有些主机属性确实存在。我认为这可能与普通javascript数组和指向内存的对象“指针”有关。。但这只是讨论。我会让别人回答你的问题。。我不知道为什么会投反对票。阅读一些Polymer 2.0文档,他们提到了绑定中的
隐含的
主机属性。我认为这可能是Polymer 1.0的一个特性,但在Polymer 1.0文档中没有提到。谢谢你的帮助。