[英]function that returns data from an observableArray in knockout
就是這樣
我有這種格式的查詢
{
query:'A query string',
user: 'email@user.com.ar',
}
在我的視圖模型中,我有一個用戶列表和一個功能
var self=this;
self.queries=ko.observableArray(
[
{
query:'A query string',
user: 'email@user.com.ar',
}
]);
self.users=ko.observableArray(
[
{user:'email@user.com.ar',data_of_user:{name:'User Name'}}
])
self.getUserInfo=function(email)
{
var data_user=_.findWhere(self.users(),{email:email});
return data_user.data_of_user.name;
}
但沒有工作
除了其他方法,我該怎么做?
我需要創建一個可以通過用戶電子郵件並獲得名稱的跨度
<div data-bind="foreach:queries">
<span data-bind="text:$root.getUserInfo.bind($data,$data.email)">
<div/>
我固定了一些錯誤。
查看:
<div data-bind="foreach:queries">
<div data-bind="with: ($root.getUserInfo($data))">
<!-- user context -->
<span data-bind="text: email"></span>
<span data-bind="text: data_of_user.name"></span>
</div>
<div/>
JS:
var VM = function () {
var self = this;
self.queries = ko.observableArray(
[{
query: 'A query string',
email: 'email@user.com.ar',
}]);
self.users = ko.observableArray(
[{
email: 'email@user.com.ar',
data_of_user: {
name: 'User Name'
}
}])
self.getUserInfo = function (user) {
var user = _.findWhere(self.users(), {
'email': user.email
});
return user;
}
;
};
ko.applyBindings(new VM());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.