在來到這裏之前,我查看了很多問題,但找不到解決我的問題的任何問題。所以我就在這裏。在指令中將md對話框中的值綁定到ng模型
我創造了這個指令:
.directive('myDirective', {'$mdDialog',
function($mdDialog){
return {
restrict: 'E',
templateUrl: TEMPLATE_URL,
scope: {
type: '@',
fieldName: '@',
ngModel: '='
},
link: function($scope, $element, $attrs){
$scope.close = function(){
$mdDialog.cancel();
}
$scope.selectItem= function(item){
$scope.ngModel = item;
$mdDialog.hide();
};
$scope.showDialog= function(){
var options = {
templateUrl: MODAL_TEMPLATE_URL,
scope: $scope,
controller: 'MyController'
};
$mdDialog.show(options);
};
}
};
}]);
該指令打開(採用了棱角分明材料)的對話,一切都在它正確地呈現,但有那所謂的「選擇信息」功能,並通過在一個NG-點擊對象(項目)不會保留在ngModel文本字段中。該對象具有「名稱」屬性集。它在文本字段中出現一秒並消失。然後,如果我嘗試再次打開對話框,則ng-click不會再觸發「showDialog」函數。
這裏的指令模板:
<md-input-container class="field-result">
<label>{{fieldName}}</label>
<input type="text" ng-model="ngModel.Name" ng-disabled="true">
</md-input-container>
<md-button class="md-icon-button md-raised icon icon-button icon-search" ng-click="showDialog()"></md-button>
因此,這裏是我想要的東西:對顯示屬性「名稱」的文本字段ngModel的價值,一旦它的設置,並修復用「showDialog」按鈕單擊問題。
在此先感謝!
值得一提的是,當我使用ngDialog(likeastore)時,我對ngModel和按鈕都沒有問題。但是我想使用ngMaterial,因爲它更好看,並且有很多我可以使用的內置指令。 –