将参数化的 md-date-locale 属性传递给 Angular JS 中的 md-datepicker
Posted
技术标签:
【中文标题】将参数化的 md-date-locale 属性传递给 Angular JS 中的 md-datepicker【英文标题】:Pass Parameterized md-date-locale attibute to md-datepicker in Angular JS 【发布时间】:2019-06-23 21:04:26 【问题描述】:我正在尝试将 JSON 字符串传递给 md-datepicker 指令,如下所示:
md-date-locale=" msgOpenCalendar: 'Open calendar for parameter.name' "
md-date-locale 属性呈现为:
md-date-locale=" msgOpenCalendar: 'Open calendar for Start Date' "
但是,打开日历按钮的 aria-label 为:
aria-label="Open calendar for parameter.name"
我需要将 aria-label 呈现为 'Open calendar for Start Date'。
有人可以推荐吗?还是 md-datepicker 指令中的错误?
下面是截图:
【问题讨论】:
【参考方案1】:不要在视图中使用双花括号,而是在控制器中进行连接:
$scope.msgOpenCalendarText = "Open calendar for Start Date " + $scope.parameter.name;
然后像这样定义你的属性:
md-date-locale=" msgOpenCalendar: msgOpenCalendarText "
【讨论】:
将 msgOpenCalendarText 分配给 $rootScope 并将其值放在单引号之间,如下所示:$rootScope.msgOpenCalendarText = "'" + "Open calendar for " + $scope.parameter.name + "' "; md-date-locale=" msgOpenCalendar: msgOpenCalendarText " 请更新您对 rootScope 的答案并包含单引号,以便我接受。谢谢。 除非绝对需要,否则我会避免使用 rootScope。如果您必须为此使用 rootScope,那么这表明您的设置可能存在其他问题。您确实应该发布所有相关代码,包括您的控制器定义以上是关于将参数化的 md-date-locale 属性传递给 Angular JS 中的 md-datepicker的主要内容,如果未能解决你的问题,请参考以下文章
将实例化的 System.Type 作为泛型类的类型参数传递