我需要为我的项目使用合适的警报和助手,并发现角质材料非常棒。但是,不要在每个控制器的几行中粘贴,因为我需要重用它们。
答案 0 :(得分:3)
我需要将它们设置为工厂,以便我可以从任何控制器调用它们。我发现它们非常有用可能对某人有用。
警报
(function () {
'use strict';
app.factory("showAlert", ["$mdDialog", function ($mdDialog) {
return function (title, content, ev) {
$mdDialog.show(
$mdDialog.alert()
.parent(angular.element(document.querySelector('#popupContainer')))
.clickOutsideToClose(true)
.title(title)
.textContent(content)
.ok('Ok')
.targetEvent(ev));
};
}]);
})();
app.controller('someController', showAlert) {
$scope.testAlert = function(event)
{
showAlert('Alert Title Goes Here', 'This is the alert message body.', ev);
}
}
信息助手
(function () {
'use strict';
app.factory("showHelper", ["$mdToast", "$timeout", function ($mdToast, $timeout) {
return function (content, startTime, duration) {
$timeout(function () {
$mdToast.show(
$mdToast.simple()
.textContent(content)
.position('bottom left')
.hideDelay(duration * 1000)
);
}, startTime * 1000);
};
}]);
})();
app.controller('someController', showHelper) {
$scope.testAlert = function()
{
showHelper('I am the first helper', 1, 4);
showHelper('I am the second helper', 6, 2);
}
}