我正在开发单页面应用程序(用于UI的durundaljs和knockjs)。 在view.js文件
上var vm= = function() {
Id: ko.observable();
Name: ko.observable();
description: ko.observable();
parentName:ko.observable();
}
页面activate()
方法我将值分配给可观察属性。
var activate = function(Id) {
getUserGroup(Id);
};
var getUserGroup = function(Id) {
var ajaxOptions = {
url: 'Api/Group/Get?id=' + Id,
type: 'GET',
dataType: 'json'
};
function gotUserGroup(data) {
vm.Id = data.Id;
vm.Name = data.name;
vm.description = data.description;
vm.parentName =getName(data.parentId)
}
return $.ajax(ajaxOptions).then(gotUserGroup);
};
function getName(Id)
{
var ajaxOptions = {
url: 'Api/Client/Get?Id=' + Id,
type: 'GET',
dataType: 'json'
};
function getValue(data) {
return data.name;
}
$.ajax(ajaxOptions).then(getValue);
}
我面临的问题是我无法将值分配给parentName
属性。
我有一个查询,比如我们如何在knockoutjs中绑定。
在我的情况下,我需要获得parentId
值,并根据它获得parentname
。
并且该值应绑定到parentName
属性。
任何人都可以建议我如何实现这一目标。
答案 0 :(得分:0)
var getUserGroup = function(Id) {
var ajaxOptions = {
url: 'Api/Group/Get?id=' + Id,
type: 'GET',
dataType: 'json'
};
function gotUserGroup(data) {
vm.Id = data.Id;
vm.Name = data.name;
vm.description = data.description;
vm.parentName =getName(data.parentId)
return data;
}
function getName(data.Id)
{
var ajaxOptions = {
url: 'Api/Client/Get?Id=' + Id,
type: 'GET',
dataType: 'json'
};
function getValue(data) {
return data.name;
}
$.ajax(ajaxOptions).then(getValue);
}
return $.ajax(ajaxOptions).then(gotUserGroup).then(getName);
};