2014-11-26 3 views
0

Машинопись:

interface IFoo { 
    description: string; 
    id: string; 
    name: string; 
} 

interface Foo extends IFoo { 
    $myId: string; 
    $type: string; 
} 

Restangular Вызов:

public myFoo: Foo;  
//after setting the value of this.myFoo 
this.restangular.all("api/foo").post(this.myFoo); 

Server Side (.net):

public class Foo 
{ 
    public string Description { get; set; } 
    public string Id { get; set; } 
    public string Name { get; set; } 
} 

//Controller 
[HttpPost] 
[Route("")] 
public IHttpActionResult Post(Foo foo) 
{ 
    var updatedFoo = this._fooService.SaveFoo(foo); 
    return this.Ok(updatedFoo); 
} 

ВОПРОС:

Моя переменная (this.foo) в текстовом рекуррентном вызове содержит всю необходимую информацию. Но внутри контроллера переменная «foo» не определена или равна нулю. Я попытался изменить тип «this.myFoo» в своем машинописном тексте на интерфейс «IFoo», и он работает. Исправьте меня, если я ошибаюсь, но я думаю, что раньше это не проблема с restangular, поскольку они не включают другие переменные с символом $ в почтовом запросе. Недавно я обновил свою мелодию, так что, возможно, это одна из причин? Это настраивается?

ответ

0

Переменная несовместима. Это myFoo или foo?

public myFoo: Foo;  
//after setting the value of this.myFoo 
this.restangular.all("api/foo").post(this.foo); 

Скорее всего проблема с неправильным this хотя. Подробнее: https://www.youtube.com/watch?v=tvocUcbCupA

+0

извините, я уже исправил его :) Я думаю, что это проблема, связанная с появлением. Значение «this.myFoo» в повторном звонке правильное, но неправильное в части контроллера. – hisoka21

Смежные вопросы