Migration Polymer 1.0对象更改时的数据绑定

Migration Polymer 1.0对象更改时的数据绑定,migration,polymer,polymer-1.0,Migration,Polymer,Polymer 1.0,我现在很难理解数据绑定是如何工作的 在我的索引页面上,我得到了一个对象(从RESTful服务中以JSON的形式获得),当应用到自定义元素时,它可以正常工作,如: <main-menu class="tiles-container ofvertical flex layout horizontal start" menuitems="{{menuitems}}"> </main-menu> var maintemplate = document.querySe

我现在很难理解数据绑定是如何工作的

在我的索引页面上,我得到了一个对象(从RESTful服务中以JSON的形式获得),当应用到自定义元素时,它可以正常工作,如:

<main-menu class="tiles-container ofvertical flex layout horizontal start" 
     menuitems="{{menuitems}}">
</main-menu>

var maintemplate = document.querySelector('#fulltemplate');
maintemplate.menuitems = JSON.parse(data.GetDesktopResult);
对象会发生变化,但在我将其保存到DB并重新加载页面之前,屏幕上不会发生任何变化

我是否遗漏了一些内容/我是否需要在Polymer 1.0上执行其他操作,以便在更改作为属性传递的对象时更新元素

在您询问之前,我已经将这些属性设置为
notify:true
,这是我发现的不同之处,但仍然不起作用

谢谢你的阅读

编辑:

这是代码
menuitems
用于:

<template is="dom-repeat" items="{{menuitems}}" as="poscol">
   <div class="positioncolum horizontal layout wrap flex">
       <template is="dom-repeat" items="{{poscol}}" as="mitem" index-as="j">
           <main-menu-item class$="{{setitemclass(mitem)}}"
               mitem="{{mitem}}"
               index="{{mitem.TotalOrder}}"
               on-click="itemclick"
               id$="{{setitemid(index, j)}}">
           </main-menu-item>
       </template>
   </div>
</template>


主菜单项
只是一组div,可根据此对象属性更改大小和颜色

如果要修改对象或数组中的元素,则需要使用变异辅助函数,否则
dom repeat
将不会收到有关更改的通知(请检查):


只是尝试了一下,对象按预期进行了更改,但仍然没有做任何其他事情……这可能是computed类的问题吗?正如我在文档中读到的那样,这应该是可行的,但它从来没有进入setitemclass(),我在这里更改项目的类,并使其更改其大小和外观。
poscol
数组是否为基本数组(仅字符串?)。如果是这样的话,你可能会遇到这个。是一个对象数组,我会尽快研究这个问题,看看这是否是我的问题,谢谢:)谢谢,至少它救了我一天。set方法做双向绑定。
<template is="dom-repeat" items="{{menuitems}}" as="poscol">
   <div class="positioncolum horizontal layout wrap flex">
       <template is="dom-repeat" items="{{poscol}}" as="mitem" index-as="j">
           <main-menu-item class$="{{setitemclass(mitem)}}"
               mitem="{{mitem}}"
               index="{{mitem.TotalOrder}}"
               on-click="itemclick"
               id$="{{setitemid(index, j)}}">
           </main-menu-item>
       </template>
   </div>
</template>
function testing(){
   debugger;
   maintemplate = document.querySelector('#fulltemplate');
   this.set('maintemplate.0.0.ModuleSize', 'smamodule');
}