0
현재 kendo를 사용하여 Angular js를 사용하는 웹 응용 프로그램을 개발 중입니다. 인라인 편집 격자를 저장할 때 저장 버튼을 숨기고 추가 버튼을 표시하고 싶습니다. 표시 및 숨기기에서 나는 *ngIf
을 사용합니다. 내가 정의하는이 클래스에서 public isAddEdit: Boolean;
성공 범위에서 변수에 액세스 할 수 없습니다. 검도 그리드 업데이트의 Ajax 성공에서 전역 변수에 액세스하는 방법은 무엇입니까?
update: function (options) {
$.ajax({
url: HttpUrl.UpdateBlog,
contentType: "application/JSON",
type: "POST",
data: JSON.stringify(options.data.models),
success: function (result) {
options.success(result);
this.isAddEdit = false;
$('#save').remove();
$('#grid').data('kendoGrid').dataSource.read();
},
})
이
내가this
그러므로 당신은 당신이 원하는 변수를 accesing되지 않은 AJAX 콜백 기능과 관련이 있다고 생각 내보기
<div id ="btndiv" class="col-sm-12">
<button *ngIf="!isAddEdit" id="addblog" class="k-button grid-top-button-override k-primary add-button page-name" (click)="addStock()">{{'Addblog' | translate}}</button>
<button *ngIf="isAddEdit" id ="save" class="k-button grid-top-button-override k-primary save-button page-name" (click)="clicksave()">{{'Save' | translate}}</button>
</div>
<div class="row grid-override">
<div id="grid"></div>
</div>
내가 그것은'더 적절한 숨기거나 버튼을 보여주기 위해 NG 쇼, NG 숨기기를 사용하는 생각 : 화살표 기능을 사용해보십시오 . 또한 거기에보기의 새로 고침이 없다고 생각하므로 변수의 값을 읽지 않습니다. 보기에서 어딘가에 변수를 디버그 해보십시오. – yhabib
'setTimeout() {} 안에'console.log (this.isAddEdit)'를 래핑 했습니까? 왜냐하면 응답을 받기 전에 그렇지 않으면 호출 될 것이기 때문입니다. – yhabib
예 값이 변경되었습니다. 나는 응답을 받기 전에 값을 읽었다. 새로 고침이 없으면 문제가 발생할 수 있습니다. – Dino