使用来自durandal中视图模型的视图中的foreach循环访问单个值
我有一个项目标题,我想做的是当我点击标题时,所有相关的活动都会显示出来,我有一个API,它带来了所有相关的活动,API在YII框架中开发,API在视图模型中调用,所有活动都可以通过foreach循环在视图中访问,我想做的是一次显示一个活动,当我点击项目标题时,所有活动都会显示,我想点击一次显示一个活动。如果有人能回答,请回答 这是我的viewModel使用来自durandal中视图模型的视图中的foreach循环访问单个值,foreach,viewmodel,durandal,Foreach,Viewmodel,Durandal,我有一个项目标题,我想做的是当我点击标题时,所有相关的活动都会显示出来,我有一个API,它带来了所有相关的活动,API在YII框架中开发,API在视图模型中调用,所有活动都可以通过foreach循环在视图中访问,我想做的是一次显示一个活动,当我点击项目标题时,所有活动都会显示,我想点击一次显示一个活动。如果有人能回答,请回答 这是我的viewModel function fetchProjectActivities() { var self = this; // this.
function fetchProjectActivities() {
var self = this;
// this.current_activities.length=0;
dataservice.projectactivities(self.id()).then(function (data) {
//self.current_activities().clear();
for (x in data) {
self.current_activities.push(new Activity(data[x].activity.id, data[x].user_id, data[x].user.first_name, data[x].user.last_name, data[x].activity.message, new Date(data[x].create_date), data[x].time_spent, data[x].tags, null, data[x].activity.status,
self.name()));
}
console.log("aaa" + self);
});
}
这是我的观点
<div class="grid-item project-item clearfix">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12"><h3>
<div data-bind="foreach:projects">
<div data-bind="foreach: current_activities">
<span data-bind="text: title()"></span>
</div>
</div>
</div>
</div>
这是当我点击项目标题时调用的函数
项目名称:
我可以看到一些东西
标记,它会让knockoutjs感到悲伤。这将需要关闭或删除for(数据中的var x){…}
,否则最终会在全局范围中将x声明为变量因此,您需要一个寻呼机视图模型。上有一个非常基本的视图模型,您可以根据自己的需要使用和修改。纠正了这两个问题:(没有解决问题)您可以添加更多视图模型,因为您当前拥有的非常有限。在上面的html中,您引用了项目和当前活动。它们不会出现在视图模型中