1)需要在js中设置$mdDialog
,我找不到定义在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.';
});
};
答案 0 :(得分:0)
我假设您已正确加载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.';
});
};
希望这会有所帮助