AngularJs 1.6 Компоненты

Маршрутизация компонента angularjs с привязкой верблюда не работает для меня, я не знаю почему.

Вот пример

Составная часть

angular.
  module('pdaFile').
  component('pdaFile', {
    templateUrl: 'app/myComponent/myComponent.html',
    bindings:{
        data:"<",
        dataFileId:"@",
        datafileid:"@",
        id:"@"
    },
    controller: ['NgTableParams','UserAuthService',
      function pdaFileController(NgTableParams,UserAuthService) {
        var self=this;

...

self.$onInit = function () {
            console.log(self.dataFileId); // undefined
            console.log(self.id); // OK
            console.log(self.datafileid); //OK

        };


appConfig.js

..

// Маршрутизатор

angular.
  module('app')
      .config(['$locationProvider', '$routeProvider',
         function config($locationProvider, $routeProvider) {
     $locationProvider.hashPrefix('!');
     $routeProvider.
when('/pda', {
           template: '<pda-file id="pippo" datafileid="current" data-file-id="current"></pda-file>'})
     .  

..

Я никак не могу заполнить обязательный параметр dataFileId. Это всегда не определено. Я пробовал с

<pda-file data-file-id="current"></pda-file>'

<pda-file dataFileId="current"></pda-file>'

и другие способы. Вместо этого не верблюжий параметр datafileid и id работают отлично.

Кто-то может сказать мне, почему?

1 ответ

Ты пытался?

data-file-id="current"

Или же

file-id="current"

затем

bindings:{
    fileId:"@",
}
Другие вопросы по тегам