2013-12-24 3 views
0

Я работаю над одностраничным приложением (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

Ваш призыв api не возвращает значение, поэтому вы не можете материализовать его из-под воздуха ... Вы считали, что возвращаете значение этого объекта? –

+0

Thnaks Я решил проблему. –

ответ

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); 
     }; 
Смежные вопросы