我创建了这个简单的JsBin来演示我之后的事情。
我有一些Fixture数据,其中的每个项目都有一个名为isFavourite的布尔属性。 indexRoute
只显示所有可用数据,第二部分显示最喜欢的项目。每个项目还有一个绑定到此isFavourite
属性的类。如果它是最喜欢的,它会有红色文字。
有一个名为dashboard
的第二条路线,它只显示商店的数据子集。还有一个按钮可以切换最喜欢的属性。切换时,更改将反映在索引路由上的类绑定中,但Favourites
部分(仅仅是转发器)仍会显示旧数据。
如何为转发器建立绑定,以便根据isFavourite
属性更改项目?
答案 0 :(得分:1)
试试这个:
<ListBox Name="itemlist_listbox" SelectedIndex="{Binding Path=button_index, Mode=TwoWay}"
SelectionChanged="itemlist_listbox_SelectionChanged"
SelectedValuePath="Value" ScrollViewer.VerticalScrollBarVisibility="Visible"
Foreground="#FF0F0101" Margin="0,2120,0,10" >
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Grid.Row="0" Height="265">
<Button x:Name="product_Name" Tag="{Binding }" Click="product_Name_Tap"
LostFocus="product_Name_LostFocus_1"
Background="White" Height="72" Margin="0,0,73,235"/>
<toolkit:PhoneTextBox x:Name="Description" Text="{Binding itemlist_description}"
LostFocus="product_Name_LostFocus_1"
Background="White" Height="73" Hint="Description" TextWrapping="Wrap"
Margin="0,-235,10,235"/>
<toolkit:PhoneTextBox x:Name="Discount" Text="{Binding itemlist_qty}"
InputScope="Number"
LostFocus="product_Name_LostFocus_1"
Background="White" Height="70" TextWrapping="Wrap" Hint="Discount"
Margin="158,-320,185,83"/>
<toolkit:PhoneTextBox x:Name="qty" InputScope="Number" Text="{Binding itemlist_discount}"
LostFocus="product_Name_LostFocus_1"
Background="White" Height="70" TextWrapping="Wrap" Hint="Qty" Margin="0,-320,340,83"
RenderTransformOrigin="0.625,0.5"/>
<toolkit:PhoneTextBox x:Name="Price" InputScope="Number" Text="{Binding itemlist_price}"
LostFocus="product_Name_LostFocus_1" Background="White"
Height="70" TextWrapping="Wrap" Hint="Price" Margin="313,-320,37,83"/>
<TextBlock HorizontalAlignment="Left" Margin="10,-160,0,0" Foreground="Black"
FontSize="25" TextWrapping="Wrap" Text="Total Price : "
VerticalAlignment="Top" Width="153"/>
<TextBlock HorizontalAlignment="Left" Text="{Binding }" Name="Total_price"
Margin="163,-152,0,0" Foreground="Gray"
FontSize="25" TextWrapping="Wrap"
VerticalAlignment="Top" Width="256" Height="32"/>
<Image x:Name="image" Height="50" Source="/Assets/Tiles/delete.png"
Width="56" Margin="400,-675,0,0"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
这样做的原因是App.IndexController = Ember.Controller.extend({
favourites: function() {
return this.store.filter('documenter', function(x) {
^^^^^^^^^^^^^^^^^
return x.get('isFavourite');
});
}.property('model')
})
会返回&#34; live&#34;随着事情的变化而更新的集合。
在你的JSBIN上为我工作。