2016-09-27 3 views
0

Я использую angular-js-styleguide-snippets для Atom, который, когда я печатаю ngcomponent на мой редактор, расширяющейся в следующую структуру:Угловая компонент стилистический справочник

(function() { 
    'use strict'; 

    angular 
     .module('arroyo') 
     .component('intro', component); 

    /* @ngInject */ 
    function component() { 
     var settings = { 
      template: '<h1>test</h1>', 
      controller: Controller, 
     }; 

     return settings; 
    } 

    Controller.$inject = []; 

    /* @ngInject */ 
    function Controller() { 

    } 
})(); 

Однако, используя код, приведенный выше, кажется, не работает. Хотя консольных ошибок нет, сам компонент (<intro></intro>) ничего не отображает. После того, как некоторые пустячный вокруг я обнаружил, что, используя этот код работает, как ожидалось:

(function() { 
    'use strict'; 

    angular 
     .module('arroyo') 
     .component('intro', { 
      template: '<h1>test</h1>' 
     }); 
})(); 

Что случилось с первым фрагментом?

ответ

1

Вы должны вызвать функцию компонентов, например так:

angular 
    .module('arroyo') 
    .component('intro', component()); 

Новый метод компонент фактически принимает объект, в котором вы даете настройки, с помощью вызова функции вы вернуть этот объект.

За дополнительной информацией обращайтесь к docs.