简介
现在我在Angular 1.6应用程序中使用了uib-paginator。我希望能够在应用程序启动后更改一些绑定。例如。在这种情况下,我想随时更改语言。
看起来有些uib-paginator指令绑定使用一次性绑定。所以我只能影响他们一次。
用法
<ul uib-pagination total-items="3"
ng-model="currentPage"
class="Pagination"
boundary-links="true"
num-pages="numPages"
items-per-page="itemsPerPage"
first-text="{{'LABEL_FIRST' | translate}}"
next-text="{{'LABEL_NEXT' | translate}}"
previous-text="{{'LABEL_PREV' | translate}}"
last-text="{{'LABEL_LAST'}} | translate"></ul>
当我更改语言时,LABEL_ *变量的值将会改变。但显然它不会影响分页器。
思想
当任何这些LABEL_ *变量发生变化时,我可能会编写jQuery代码来刷新该特定元素。但是我想尽可能地让jQuery远离这个应用程序。
如果您对如何解决此问题有任何想法(没有jQuery .. :)那么请分享。
答案 0 :(得分:1)
以下是遇到同样问题的人的解决方案:
1。
这是uib-paginator模板:
https://github.com/angular-ui/bootstrap/blob/master/template/pagination/pagination.html
将其复制到.html文件。
2。
修改全部
{{::getText('x')}} to {{getText('x')}}
或者用你自己的翻译替换它(就像我做的那样)
{{::getText('first')}} to {{'LABEL_FIRST'|translate}}
3。
在uib-pagination中使用属性 template-url 并引用新模板。
上面代码的新示例如下所示:
<ul uib-pagination total-items="3"
ng-model="currentPage"
class="Pagination"
boundary-links="true"
num-pages="numPages"
items-per-page="itemsPerPage"
template-url="../templates/myNewPaginatorTemplate.html"></ul>
瞧。