Javascript 如何更改NativeScript中StackLayout容器的背景色?

Javascript 如何更改NativeScript中StackLayout容器的背景色?,javascript,nativescript,Javascript,Nativescript,我有以下XML视图: <ListView items="{{ lists }}" itemTap="itemTapped"> <ListView.itemTemplate> <StackLayout class="list-group-item" orientation="horizontal"> <Label text="{{ name }}" class="item-name" horizontalA

我有以下XML视图:

<ListView items="{{ lists }}" itemTap="itemTapped">
    <ListView.itemTemplate>
         <StackLayout class="list-group-item" orientation="horizontal">
            <Label text="{{ name }}" class="item-name" horizontalAlignment="center" />
         </StackLayout>
    </ListView.itemTemplate>
</ListView>
当我运行应用程序并单击列表项时,我在控制台中看到:

CONSOLE LOG file:///app/pick/pick-page.js:111:14: undefined
CONSOLE LOG file:///app/pick/pick-page.js:113:14: #FF0000
CONSOLE LOG file:///app/pick/pick-page.js:111:14: undefined
CONSOLE LOG file:///app/pick/pick-page.js:113:14: #FF0000
我还尝试了args.object.className='selected item',设置背景颜色:红色;在CSS中,但这也不起作用


我该如何动态更改该颜色?或者,是否有更好的方法来指示ListView项目已点击?

您不应该直接从ListView修改ListItem,因为在上/下滚动时,这些元素可能会重复使用。您应该在数据项上有一个属性,并根据该属性进行切换,您可以在ListItem上绑定背景色

 <ListView items="{{ countries }}" itemTap="{{ onItemTap }}">
    <ListView.itemTemplate>
        <FlexboxLayout flexDirection="row"
            backgroundColor="{{ selected, selected ? 'red' : 'white' }}">
            <Image src="{{ imageSrc }}" class="thumb img-circle" />
            <Label text="{{ name }}" class="t-12"
                verticalAlignment="center" style="width: 60%" />
        </FlexboxLayout>
    </ListView.itemTemplate>
</ListView>
 <ListView items="{{ countries }}" itemTap="{{ onItemTap }}">
    <ListView.itemTemplate>
        <FlexboxLayout flexDirection="row"
            backgroundColor="{{ selected, selected ? 'red' : 'white' }}">
            <Image src="{{ imageSrc }}" class="thumb img-circle" />
            <Label text="{{ name }}" class="t-12"
                verticalAlignment="center" style="width: 60%" />
        </FlexboxLayout>
    </ListView.itemTemplate>
</ListView>