$mdDialog ok/cancel 翻译 angular
$mdDialog ok/cancel with angular translation
1) $mdDialog
需要在 js 中设置,我找不到一种方法来定义在 HTML 代码中创建对话框所需的属性。因为我需要翻译 ok
和 cancel
按钮,所以我需要在 HTML 中构建对话框(至少部分)(因为建议在视图中进行翻译)。我似乎不知道该怎么做。
2) htmlContent 需要加载注入的 HTML 页面。 _disclaimer.html,我想我也许可以删除按钮 (ok/cancel)
并在免责声明中设置它们,我似乎也无法弄清楚这个。
我想要一个带有翻译 ok/cancel 按钮和注入 HTML 页面 (_disclaimer.html) 的模式。我不介意在 _disclaimer.html 中编写 ok/cancel 按钮。请给我指明正确的方向
var showDisclaimer = function showDisclaimer() {
var confirm = $mdDialog.confirm()
.title('Are you sure to delete the record?')
.htmlContent('my html content')
.ok('Yes')
.cancel('No');
$mdDialog.show(confirm).then(function () {
$scope.status = 'Record deleted successfully!';
}, function () {
$scope.status = 'You decided to keep your record.';
});
};
我假设您已经正确加载 pascalprecht.translate
并为您想要的任何内容添加了翻译。 (OK/Cancel
在这种情况下)。现在您可以在您的控制器中转换它们并在您的视图中为该值建模。例如
controller.js
app.controller('TranslateMe', ['$scope', '$translate', function ($scope,
$translate) {
$translate('PAGE.OK')
.then(function (translatedValue) {
$scope.ok = translatedValue;
});
$translate('PAGE.CANCEL')
.then(function (translatedValue) {
$scope.cancel = translatedValue;
});
});
同样适用于您想要的任何其他值。值不需要在 html
中进行翻译。正如我上面提到的,您甚至可以在 controller
中翻译它们。现在,对于 ok/cancel
的翻译文本,您可以执行类似
的操作
var showDisclaimer = function showDisclaimer() {
var confirm = $mdDialog.confirm()
.title('Are you sure to delete the record?')
.htmlContent('my html content')
.ok( $scope.ok)
.cancel( $scope.cancel);
$mdDialog.show(confirm).then(function () {
$scope.status = 'Record deleted successfully!';
}, function () {
$scope.status = 'You decided to keep your record.';
});
};
希望这会有所帮助
1) $mdDialog
需要在 js 中设置,我找不到一种方法来定义在 HTML 代码中创建对话框所需的属性。因为我需要翻译 ok
和 cancel
按钮,所以我需要在 HTML 中构建对话框(至少部分)(因为建议在视图中进行翻译)。我似乎不知道该怎么做。
2) htmlContent 需要加载注入的 HTML 页面。 _disclaimer.html,我想我也许可以删除按钮 (ok/cancel)
并在免责声明中设置它们,我似乎也无法弄清楚这个。
我想要一个带有翻译 ok/cancel 按钮和注入 HTML 页面 (_disclaimer.html) 的模式。我不介意在 _disclaimer.html 中编写 ok/cancel 按钮。请给我指明正确的方向
var showDisclaimer = function showDisclaimer() {
var confirm = $mdDialog.confirm()
.title('Are you sure to delete the record?')
.htmlContent('my html content')
.ok('Yes')
.cancel('No');
$mdDialog.show(confirm).then(function () {
$scope.status = 'Record deleted successfully!';
}, function () {
$scope.status = 'You decided to keep your record.';
});
};
我假设您已经正确加载 pascalprecht.translate
并为您想要的任何内容添加了翻译。 (OK/Cancel
在这种情况下)。现在您可以在您的控制器中转换它们并在您的视图中为该值建模。例如
controller.js
app.controller('TranslateMe', ['$scope', '$translate', function ($scope,
$translate) {
$translate('PAGE.OK')
.then(function (translatedValue) {
$scope.ok = translatedValue;
});
$translate('PAGE.CANCEL')
.then(function (translatedValue) {
$scope.cancel = translatedValue;
});
});
同样适用于您想要的任何其他值。值不需要在 html
中进行翻译。正如我上面提到的,您甚至可以在 controller
中翻译它们。现在,对于 ok/cancel
的翻译文本,您可以执行类似
var showDisclaimer = function showDisclaimer() {
var confirm = $mdDialog.confirm()
.title('Are you sure to delete the record?')
.htmlContent('my html content')
.ok( $scope.ok)
.cancel( $scope.cancel);
$mdDialog.show(confirm).then(function () {
$scope.status = 'Record deleted successfully!';
}, function () {
$scope.status = 'You decided to keep your record.';
});
};
希望这会有所帮助