在 onsen.ui 中为轮播动态创建项目 ons-list-item

dynamically create items ons-list-item for a carousel in onsen.ui

我需要像示例 http://codepen.io/onsen/pen/emmKpV 一样创建旋转木马温泉,我正在尝试动态创建项目 ons-list-item 但我的代码在动态插入新的 ons-list-item 时不起作用在ons-list中添加html代码,新的ons-list-item不显示,我的代码如下:

这是我的 html 代码。

<ons-page>
    <ons-toolbar>
        <div class="center">Simple ng-repeat list</div>
    </ons-toolbar>
    <ons-list id='contenedor'></ons-list>
    <input type='button' value="item" onclick='crearItem()' />
 </ons-page>

这是我的 javascript 代码。

function crearItem(){
    htmlText = "<ons-list-item class='list-item'><ons-carousel swipeable class='item-container' initial-index='1' auto-scroll><ons-carousel-item class='list-action-menu' >Borrar</ons-carousel-item><ons-carousel-item class='list-action-item'>title</ons-carousel-item></ons-carousel></ons-list-item>";  
    document.getElementById('contenedor').innerHTML = htmlText;
}

这是我的完整代码 http://codepen.io/anon/pen/PPNRzX

非常感谢任何可以帮助我的人

不推荐你的做法,不需要直接加上HTML。相反,您可以这样做:

<ons-carousel var="carousel" auto-refresh swipeable overscrollable style="height: 50%; width: 100%;" item-width="40%">
  <ons-carousel-item ng-repeat="item in items" ng-attr-style="background-color: {{ item }}">
    {{ item }}   
  </ons-carousel-item>
</ons-carousel>

通过使用 ng-repeat="item in items",您可以为所有元素重复 items 内容。您可以在控制器中定义 items 的内容。

这里是CopePen example如何制作动态轮播内容,希望对你有所帮助!

如果您动态添加内容,则需要使用 ons.compile() 函数对其进行编译。

在您的情况下,它看起来像这样:

function crearItem(){
  htmlText = "<ons-list-item class='list-item'><ons-carousel swipeable class='item-container' initial-index='1' auto-scroll><ons-carousel-item class='list-action-menu' >Borrar</ons-carousel-item><ons-carousel-item class='list-action-item'>title</ons-carousel-item></ons-carousel></ons-list-item>";  
  var el = document.getElementById('contenedor');
  el.innerHTML = htmlText;
  ons.compile(el);
}