2015-03-25 81 views
0

刚开回来的东西摆动,似乎是失去我的心......淘汰赛/ JS引用可观察到在其他功能

我有一个函数(模型):

function Users(data) { 
    var self = this; 
    self.UserComments = ko.observableArray(); 
    //...some other thingies 
} 

而且然后...

function viewModel() { 
    var self = this; 
    //How do I access self.UserComments from the Users function? 
} 

奖励积分,问题在评论的某处。 :)

干杯

编辑:

这样可以很清楚我真正需要self.UserComments阵列(数据完好)我viewModel访问。

Users功能将评论添加到self.UserComments阵列每次dataviewModel添加,

+0

你的'viewModel'中的'Users'与用户有什么关系? – 2015-03-25 08:25:26

+1

通过创建'用户'功能的实例,例如在虚拟机'self.data = ko.observable(新用户([//你的数据])'',你可以通过'self.data'访问'userComments' 。干杯 – 2015-03-25 08:46:18

回答

1

您将需要把一个在您的视图模型。

function viewModel() { 
    var self = this; 
    self.users = new Users({bla: 1}); 
    // Now I can reference it. 
    self.count = ko.computed(function(){ 
     return self.users.UserComments().length; 
    }); 
} 
+0

不错的建议,但是我的'self.UserComments'数组现在没有数据......我可能完全误解了这个函数的运行方式 – user1470994 2015-03-25 08:43:30

+1

它现在不需要有数据,你正在定义订阅和流程。 – 2015-03-25 20:04:17

0

这应该工作:

function viewModel() { 
    var self = this; 
    self.UserComments = ko.observableArray(); 
}