Javascript 从敲除中的ObservalArray返回数据的函数

Javascript 从敲除中的ObservalArray返回数据的函数,javascript,knockout.js,knockout-2.0,knockout-mapping-plugin,Javascript,Knockout.js,Knockout 2.0,Knockout Mapping Plugin,情况就是这样 我有一个这种格式的查询 { 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=

情况就是这样

我有一个这种格式的查询

{
    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/>

这是span text:function(){[native code]}的结果。是否需要输入来编辑用户电子邮件?请共享更多视图和视图模型。不,我想显示一个包含用户名的span,用户名在用户['name'的数据中,但查询中只有用户的电子邮件,所有数据都在self.users中。这很好!感谢您的时间和经验
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());