2013-03-10 2 views
1

Я использую диалог службы angular-ui/bootstrap $AngularUI MessageBox с templateURL

Можно загрузить частично внутри MessageBox? Я бы взял заголовок и нижний колонтитул, изменив только параметр сообщения. Таким образом, нет необходимости включать верхний и нижний колонтитулы в частичный шаблон.

В этом примере http://plnkr.co/edit/ttobdpirZlnEQBE3LOeZ проиллюстрировано поведение, которое я ожидаю, нажав на «продукты msg».

ответ

2

№ Метод messageBox предназначен для быстрого создания ящиков сообщений с последовательным обращением &. Идея этого метода заключается в том, что вы можете быстро создавать оповещения, подобные сообщениям, которые имеют последовательный вид &.

Как вы заметили, метод open является более гибкой версией и позволяет вам создавать любые модальные диалоги с частично указанными вами вами.

Если вы хотели бы создать много диалогов, которые используют один и тот же шаблон можно обернуть $dialog службу в свой собственный сервис, например:

app.factory('productsDialog', function($dialog){ 
    return function(products) {  
    return $dialog.dialog({ 
     templateUrl: 'products.html', 
     controller: 'DialogCtrl', 
     resolve: {products: function() { return products; }}  
    }); 
    }; 
}); 

и использовать его так:

$scope.dlgProduct = function(){ 
    productsDialog($scope.products).open(); 
    }; 

Вот рабочий стол: http://plnkr.co/edit/L2fd7b4y3woLDJmNiN3Y?p=preview

+1

Отличный подход! Я буду использовать этот путь. Только один вопрос в закрытии, если вы можете помочь: Лучшей практикой включения шаблона в диалог будет ng-include? например: