Kendo UI MVVM数据源绑定到html输入元素
剑道新手 kendo数据源只返回数组,而我的RESTful api将客户端作为一个元素的数组返回 但是,我似乎无法将客户端的“Name”字段绑定到html输入框 但是,如果我将数据放在“ul”中,我可以使用它,如下面的代码所示。我知道json响应格式良好,因为我可以控制台.log(obj[0].Name) 我试图在数据源的data:中返回obj[0],但这破坏了一切。(没有切片错误消息,因为它尝试对数组进行切片) 我相信这很容易,但我一定是想错了 Html和js如下:Kendo UI MVVM数据源绑定到html输入元素,mvvm,kendo-ui,kendo-datasource,Mvvm,Kendo Ui,Kendo Datasource,剑道新手 kendo数据源只返回数组,而我的RESTful api将客户端作为一个元素的数组返回 但是,我似乎无法将客户端的“Name”字段绑定到html输入框 但是,如果我将数据放在“ul”中,我可以使用它,如下面的代码所示。我知道json响应格式良好,因为我可以控制台.log(obj[0].Name) 我试图在数据源的data:中返回obj[0],但这破坏了一切。(没有切片错误消息,因为它尝试对数组进行切片) 我相信这很容易,但我一定是想错了 Html和js如下: <div data-
<div data-role="view" data-title="Client Detail" data-model="app.clientView">
<!-- this does not work -->
<input data-bind="value: app.clientView.data"/>
<input data-bind="value: app.clientView.data[0].Name"/>
<input data-bind="value: app.clientView.data.Name"/>
<!-- this works -->
<ul data-role="listview" data-source="app.clientView.data" data-template="client-template"></ul>
<script type="text/x-kendo-template" id="client-template">
<a href="components/clientView/view.html?id=#: ID #">
<div>#: Name #</div>
<div>#: LastActivityOn #</div>
</a>
</script>
剑道UI MVVM绑定不能指向剑道UI数据源实例。只有绑定才能做到这一点
在您的情况下,重新设计实现并向viewModel(app.clientView
)添加一些新字段,这些字段可用于值绑定。可以删除这些字段
另一方面,不需要通过在绑定配置中包含viewModel引用来详细指定viewModel字段。这里只需要字段名。检查一下 Kendo UI MVVM绑定不能指向Kendo UI数据源实例。只有绑定才能做到这一点
在您的情况下,重新设计实现并向viewModel(app.clientView
)添加一些新字段,这些字段可用于值绑定。可以删除这些字段
另一方面,不需要通过在绑定配置中包含viewModel引用来详细指定viewModel字段。这里只需要字段名。检查一下 非常有帮助,但我不能很好地让它工作。如果我在上面的示例中删除我的listview,那么视图模型data:和schema:data;你永远不会跑。我添加了一个Name:field,并在schema:data中设置它,其中包含listview,它可以工作,而不包含listview。我添加了一个更改:成功地调用restfull,但它从未启动。手动调用clientView.data.read();锁定模拟器。尽管如此,我觉得我离得越来越近了P我正在仔细检查你的答案,好的东西丢失了。剑道UI数据源不会发出请求,除非数据绑定小部件或开发人员告诉它这样做。您正在讨论的锁定可能是一个单独的问题—检查JavaScript错误。我必须对此进行解决,因为我的rest url的格式是…/clients/{id},其中{id}取决于前面的视图。我最好能在url中找到url:传输部分在加载纸条时解析,早在我设置全局变量id之前,解决方法就是在视图onShow处理程序中调用loadClient函数,然后执行典型的ajax调用——然后使用jQuery设置html元素——以一种简单而熟悉的方式解决这两个问题。我将此标记为答案,因为它是我所问问题的答案。非常有帮助,但我无法让它发挥作用。如果我在上面的示例中删除我的listview,那么视图模型data:和schema:data;你永远不会跑。我添加了一个Name:field,并在schema:data中设置它,其中包含listview,它可以工作,而不包含listview。我添加了一个更改:成功地调用restfull,但它从未启动。手动调用clientView.data.read();锁定模拟器。尽管如此,我觉得我离得越来越近了P我正在仔细检查你的答案,好的东西丢失了。剑道UI数据源不会发出请求,除非数据绑定小部件或开发人员告诉它这样做。您正在讨论的锁定可能是一个单独的问题—检查JavaScript错误。我必须对此进行解决,因为我的rest url的格式是…/clients/{id},其中{id}取决于前面的视图。我最好能在url中找到url:传输部分在加载纸条时解析,早在我设置全局变量id之前,解决方法就是在视图onShow处理程序中调用loadClient函数,然后执行典型的ajax调用——然后使用jQuery设置html元素——以一种简单而熟悉的方式解决这两个问题。我将此标记为答案,因为这是我所问问题的答案。