【发布时间】:2015-08-18 06:57:55
【问题描述】:
我有一个铁列表,我想用一个 php 数组或一个原始 json 字符串填充它(它可以是或者,对我来说无关紧要)
过去,我使用 iron-ajax 组件通过 url 设置列表项并提供 url。现在我必须从填充在与 iron-list 相同页面上的 php 数组中设置列表项,或者我可以对数组进行 json_encode 并将其用于列表项(如果列表需要它而不是数组)。不过,我似乎无法弄清楚,我没有在列表中获得任何项目(我知道数组已填充)
我用来填充数组的 php,我也是 json 编码它,因为我一直在玩提供铁列表或数组或 json 以使其工作:这是在同一页面上完成的上面的列表差不多
$projects=array();
$projects=getUserProjects(100);
$jsonresult=json_encode($projects);
现在在我的熨斗清单中,我一直在尝试以各种方式设置项目,但我尝试过似乎都没有工作:
<iron-list items="<?php echo $jsonresult;?>" as="item">
<iron-list items="{{<?php echo $jsonresult;?>}}" as="item">
<iron-list items="[[<?php echo $jsonresult;?>]]" as="item">
<iron-list items="<?php print_r ($projects);?>" as="item">
<iron-list items="[[<?php print_r ($projects);?>]]" as="item">
<iron-list items="{{<?php print_r($projects);?>}}" as="item">
当我查看源代码时,我可以看到它正在回显 json 或数组,但它没有在列表中显示任何内容。
如何使用同一本地页面上的数组或 json 字符串来填充列表?我看到的所有示例都只使用 URL 来填充列表。
编辑:我还尝试将 iron-ajax url 设置为 json 字符串,如下所示:
<iron-ajax url="<?php echo $jsonresult;?>" last-response="{{data}}" auto
</iron-ajax>
<iron-list items="[[data]]" as="item">
但这也没有用。
我也试过第一个人评论的.. json_decode 是这样的:
$projects=array();
$projects=getUserProjects(100);
$jsonresult=json_encode($projects);
$jsonde=json_decode($projects);
<iron-list items="[[<?php print_r ($jsonde);?>]]" as="item">
那也没用
【问题讨论】:
-
你必须 json_decode 并相应地使用它。
-
所以我首先必须将数组转换为 json 然后解码 json?
-
那不起作用,我有一个数组似乎很愚蠢,我必须将它转换为 json 才能再次解码。所以现在我也试过了: $projects=array(); $projects=getUserProjects(100); $jsonresult=json_encode($projects); $jsonde=json_decode($jsonresult);
这也没用 -
您将 {{data}} 和 [[data]] 用于 $root 元素( req'd 用于 ajax )和 $array 元素( req'd 用于 list )。不要对两者使用相同的。查看您的 php 响应 ( JSON ) 并将根 ele 名称与数组名称区分开来,并分别使用它们来绑定 ajax 和绑定列表。
-
其实我在 Slack 频道上得到了答案。我所要做的就是:
并且它起作用了
标签: php arrays json polymer polymer-1.0