Tag: 数据绑定

Spring MVCtypes转换:PropertyEditor或Converter?

我正在寻找在MVC中绑定和转换数据的最简单最简单的方法。 如果可能的话,不做任何XMLconfiguration。 到目前为止,我一直在使用PropertyEditor : public class CategoryEditor extends PropertyEditorSupport { // Converts a String to a Category (when submitting form) @Override public void setAsText(String text) { Category c = new Category(text); this.setValue(c); } // Converts a Category to a String (when displaying form) @Override public String getAsText() { Category c = (Category) this.getValue(); return c.getName(); […]

AngularJS:使用jQuery更改ng-model绑定时不会更新

这是我的HTML: <input id="selectedDueDate" type="text" ng-model="selectedDate" /> 当我input框中时,模型通过双向绑定机制进行更新。 甜。 但是,当我通过JQuery做到这一点… $('#selectedDueDate').val(dateText); 它不更新模型。 为什么?

KnockOutJS – 在一个视图中的多个ViewModels

我在想,我的应用程序现在变得相当大,太大,无法处理每个视图与一个ViewModel。 所以我想知道创build多个ViewModels并将它们全部加载到一个View是多么困难。 注意,我还需要能够将X ViewModel数据传递到Y ViewModel数据,因此各个ViewModel需要能够相互通信或者至less知道对方。 例如,我有一个<select>下拉菜单,select下拉菜单有一个select状态,允许我将<select>所选项目的ID传递给另一个Ajax调用,在一个单独的ViewModel中。 在单个视图中处理大量ViewModel的任何观点都将得到赞赏:)

这个视图在AngularJS中没有更新

更新模型属性在更新事件callback模型时对视图没有影响,有什么想法来解决这个问题? 这是我的服务: angular.service('Channel', function() { var channel = null; return { init: function(channelId, clientId) { var that = this; channel = new goog.appengine.Channel(channelId); var socket = channel.open(); socket.onmessage = function(msg) { var args = eval(msg.data); that.publish(args[0], args[1]); }; } }; }); publish()函数是在控制器中dynamic添加的。 控制器: App.Controllers.ParticipantsController = function($xhr, $channel) { var self = this; self.participants = []; […]

如何在JavaScript中实现DOM数据绑定

请把这个问题视为严格的教育。 我仍然有兴趣听到新的答案和想法来实现这一点 TL;博士 我将如何实现与JavaScript的双向数据绑定? 数据绑定到DOM 通过数据绑定到DOM我的意思是,例如,一个JavaScript对象与属性b 。 然后有一个<input> DOM元素(例如),当DOM元素改变时,改变反之亦然(即我的意思是双向数据绑定)。 下面是AngularJS的一个图表: 所以基本上我有JavaScript类似于: var a = {b:3}; 然后input(或其他forms)的元素,如: <input type='text' value=''> 我希望input的值是ab的值(例如),当input文本改变时,我也想改变ab 。 当ab在JavaScript中改变时,input改变。 问题 什么是一些基本的技术来完成这个普通的JavaScript? 具体来说,我想要一个很好的答案来提到: 绑定如何为对象工作? 如何听取forms的变化可能会奏效? 是否可以简单的方式只在模板级别修改HTML? 我不想跟踪HTML文档本身的绑定,只能在JavaScript中进行绑定(使用DOM事件,JavaScript保留对所使用的DOM元素的引用)。 我试过了什么? 我是胡子的粉丝,所以我试着用它做模板。 然而,当我尝试执行数据绑定本身时遇到了问题,因为Mustache将HTML处理为string,所以在得到结果之后,我没有参考viewmodel中对象的位置。 我唯一能想到的解决方法是使用属性修改HTMLstring(或创build的DOM树)本身。 我不介意使用不同的模板引擎。 基本上,我有一个强烈的感觉,我正在把问题复杂化,并有一个简单的解决scheme。 注意:请不要提供使用外部库的答案,尤其是那些有数千行代码的答案。 我已经使用(和喜欢!)AngularJS和KnockoutJS。 我真的不希望在'使用框架x'的forms的答案。 最好是,我想要一个未知的读者不知道如何使用许多框架来掌握如何实现双向数据绑定。 我不期待一个完整的答案,而是一个能够把这个想法传递出去的答案。

第一次调用CanExecute时,WPF CommandParameter为NULL

我遇到了绑定到一个ItemsControl的DataTemplate中的Button的WPF和命令的问题。 情况非常简单。 ItemsControl绑定到一个对象列表,我希望能够通过单击button来删除列表中的每个对象。 该button执行一个命令,并且该命令负责删除。 CommandParameter绑定到我想要删除的对象。 这样我就知道用户点击了什么。 用户应该只能删除他们的“自己的”对象 – 所以我需要在命令的“CanExecute”调用中进行一些检查,以validation用户是否具有正确的权限。 问题是传递给CanExecute的参数在第一次被调用时是NULL,所以我不能运行逻辑来启用/禁用命令。 但是,如果我启用了allways,然后单击button执行该命令,CommandParameter正确传入。 这意味着对CommandParameter的绑定正在工作。 ItemsControl和DataTemplate的XAML如下所示: <ItemsControl x:Name="commentsList" ItemsSource="{Binding Path=SharedDataItemPM.Comments}" Width="Auto" Height="Auto"> <ItemsControl.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <Button Content="Delete" FontSize="10" Command="{Binding Path=DataContext.DeleteCommentCommand, ElementName=commentsList}" CommandParameter="{Binding}" /> </StackPanel> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> 所以你可以看到我有一个评论对象的列表。 我想DeleteCommentCommand的CommandParameter绑定到Command对象。 所以我想我的问题是:有没有人遇到过这个问题? CanExecute在我的Command上被调用,但是这个参数第一次总是NULL – 为什么? 更新:我能够把问题缩小一点。 我添加了一个空的Debug ValueConverter,以便在CommandParameter数据绑定时输出消息。 原来问题是CanExecute方法在CommandParameter绑定到button之前执行。 我试图设置CommandParameter之前的命令(如build议) – 但它仍然无法正常工作。 有关如何控制它的任何提示。 Update2:有没有什么办法来检测绑定是否“完成”,以便我可以强制重新评估命令? 另外 – 这是一个问题,我有多个button(ItemsControl中的每个项目)绑定到一个Command对象的同一个实例? Update3:我已经上传了一个bug的复制到我的SkyDrive: http […]

渲染没有数据绑定的值

在AngularJS中,如何在没有双向数据绑定的情况下渲染一个值? 有人可能会出于性能考虑,甚至在给定的时间点提供价值。 以下示例都使用数据绑定: <div>{{value}}</div> <div data-ng-bind="value"></div> 如何在没有任何数据绑定的情况下呈现value ?

WPF数据绑定和validation规则最佳实践

我有一个非常简单的WPF应用程序,我正在使用数据绑定来允许编辑一些自定义的CLR对象。 我现在想在用户点击保存时进行一些inputvalidation。 不过,我所读到的所有WPF书籍都没有给这个问题留下任何空间。 我看到你可以创build自定义的ValidationRules,但我想知道这是否会为我的需要矫枉过正。 所以我的问题是这样的:是否有一个很好的示例应用程序或文章的地方,演示了validationWPF中的用户input的最佳做法?

使用ngModel Angular 2的双向绑定不起作用

无法绑定到'ngModel',因为它不是“input”元素的一个已知属性,并且没有相应的指令与相应的属性 注意:即时通讯使用alpha.31 import { Component, View, bootstrap } from 'angular2/angular2' @Component({ selector: 'data-bind' }) @View({ template:` <input id="name" type="text" [ng-model]="name" (ng-model)="name = $event" /> {{ name }} ` }) class DataBinding { name: string; constructor(){ this.name = 'Jose'; } } bootstrap(DataBinding);

WPF用户控件中的数据绑定

我正在为几个窗口共享的一系列控件创build一个UserControl。 其中一个控件是一个标签,用“协议号码”来表示一些其他进程的stream程。 我试图提供这个标签的DataBinding,所以窗口会自动反映进程的状态,因为协议号variables的变化。 这是用户控件XAML: <UserControl Name="MainOptionsPanel" x:Class="ExperienceMainControls.MainControls" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" DataContext="{Binding RelativeSource={RelativeSource Self}}" > <Label Height="Auto" Name="numberLabel">Protocol:</Label> <Label Content="{Binding Path=ProtocolNumber}" Name="protocolNumberLabel"/> (…) </UserControl> 这是代码隐藏: public partial class MainControls { public MainControls() { InitializeComponent(); } public int ProtocolNumber { get { return (int)GetValue(ProtocolNumberProperty); } set { SetValue(ProtocolNumberProperty, value); } } public static DependencyProperty ProtocolNumberProperty = DependencyProperty.Register("ProtocolNumber", typeof(int), […]