0
我在填充模態窗口形式時遇到了問題。例如,我點擊網格行來編輯用戶,然後我調用ajax來返回用戶的特定數據。填充模態窗口形式
當前代碼:
<modal title="Uredi uporabnika" visible="showModal">
<form role="form">
<div class="form-group">
<label for="user_name">Ime</label>
<input type="text" class="form-control" id="user_name" />
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
</modal>
控制器:
$scope.openUserEditor = function(selected_user_id){
$http({
method:'POST',
url:ajax,
dataType: 'json',
headers: {
'Content-type': 'application/x-www-form-urlencoded;charset=utf-8'
},
data:{
action:'loadUserData',
id:selected_user_id
}
}).success(function(data,status){
$scope.userInfo = data.user_info;
$scope.showModal = !$scope.showModal;
});
}
模態窗口代碼:
app.directive('modal', function(){
return {
template: '<div class="modal fade">' +
'<div class="modal-dialog">' +
'<div class="modal-content">' +
'<div class="modal-header">' +
'<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>' +
'<h4 class="modal-title">{{ title}}</h4>' +
'</div>' +
'<div class="modal-body" ng-transclude></div>' +
'</div>' +
'</div>' +
'</div>',
restrict: 'E',
transclude: true,
replace:true,
scope:true,
link: function postLink(scope, element, attrs) {
scope.title = attrs.title;
scope.$watch(attrs.visible, function(value){
if(value == true)
$(element).modal('show');
else
$(element).modal('hide');
});
$(element).on('shown.bs.modal', function(){
scope.$apply(function(){
scope.$parent[attrs.visible] = true;
});
});
$(element).on('hidden.bs.modal', function(){
scope.$apply(function(){
scope.$parent[attrs.visible] = false;
});
});
}
};
});
我會apreciate任何幫助,即使我在becouse正確的方式在做我是Angular的新手。
你在哪裏和什麼時候調用openUserEditor函數? – Shivi
在錶行點擊' \t \t \t <按鈕類= 「BTN」 NG單擊= 「openUserEditor(user.id)」> \t \t \t編輯 \t \t \t \t \t \t' – Ales
可以你請檢查你的成功回調中的$ scope對象.. ??有時它被設置爲窗口,而不是控制器範圍。然後,您可以在api調用之外創建一個變量,如var self = this,然後使用this.userInfo。 – Shivi