小编Aks*_*ana的帖子

Ag-grid(Angular 2)无法访问CellRenderer中的组件字段

我试图在使用cellRenderer创建的按钮的click事件上调用服务方法时遇到此问题.

我正在使用带有Angular2的ag-grid.

{ headerName: 'Update', field: "update", width: 80, cellRenderer : this.updateRecord }


updateRecord(params) {
    var eDiv = document.createElement('div');
    eDiv.innerHTML = '<span class="my-css-class"><button class="edit">Edit</button></span>';
    var eButton = eDiv.querySelectorAll('.edit')[0];
    eButton.addEventListener('click', function() {
      this.myService.getAll().subscribe(data => console.log(JSON.stringify(data)))
    });
    return eDiv;
  }
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

EXCEPTION: Cannot read property 'getAll' of undefined
Run Code Online (Sandbox Code Playgroud)

此外,我无法访问任何我的组件变量.

ag-grid angular

9
推荐指数
1
解决办法
2968
查看次数

Angular和i18next

我见过Angular的一些i18n插件,但我不想重新发明这个轮子.i18next是一个很好的库,因此,我打算使用它.

我创建了一个指令i18n,它只调用i18n库:

define(['app', 'jquery', 'i18n'], function(app, $, i18n) {'use strict';
    app.directive('i18n', function() {
        return function($scope, elm, attrs) {
            attrs.$observe('i18n', function(value) {
                if ($.fn.i18n) {// for some reason, it isn't loaded quickly enough and first directives process fails
                    $(elm).i18n();
                }
            });
        };
    });
});
Run Code Online (Sandbox Code Playgroud)

在我的页面上,我可以动态更改语言:

<a ng-repeat="l in languages"> <img ng-src="images/{{l.id}}.png" title="{{l.label}}" ng-click="setLanguage(l.id)" /> </a>
Run Code Online (Sandbox Code Playgroud)

现在,我的主控制器在html标签上定义:

define(['app', 'i18n', 'jquery'], function(app, i18n, $) {'use strict';

    return app.controller('BuilderController', ['$scope', '$location',
    function BuilderController($scope, $location) {

        /* Catch url changes */
        $scope.$watch(function() {
            return $location.path(); …
Run Code Online (Sandbox Code Playgroud)

javascript internationalization angularjs angularjs-directive

5
推荐指数
1
解决办法
6808
查看次数

Angular 国际化 ( ngx-translate/ i18n OR i18next )

我需要在 Angular 的一个大型项目中实现国际化。根据我的发现,有两个主要选择:Angular 的官方i18nngx-translate

为了了解两者的优缺点,我进行了很多讨论:

https://github.com/angular/angular/issues/16477

https://github.com/ngx-translate/core/issues/495

https://github.com/ngx-translate/core/issues/783

ngx-translate 与 i18n 的差异

现在,第三个选项是“ angular-i18next ”。这方面的文档并不多。我知道它是 i18next 的包装器。但它是否克服了任何缺点,例如:

  • 翻译非模板文本。

  • 无需重新加载页面的动态翻译。

  • 使用 AOT 编译进行单一构建。

或者,我最好的选择是在i18nngx-translate之间进行选择?另外,有人在使用“ angular-i18next ”吗?

internationalization i18next angular-i18n ngx-translate angular

5
推荐指数
1
解决办法
1936
查看次数