Uib-paginator - 一次性绑定

时间:2017-03-06 23:08:10

标签: angularjs angular-ui-bootstrap angular-translate

简介

现在我在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 .. :)那么请分享。

1 个答案:

答案 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>

瞧。