Como usar ataduras no controlador em um componente AngularJs 1.6

Aqui está o meu componente.
angular.module('myApp').component('dendroCtrl', {
templateUrl: '/templates/dendro.html',
bindings: {
    id: '=',
    type: '=',
    mini: "="
},
controller: function ($scope, Api) {
    //Dendro

    var test = mini;

tentei isto:

var test = mini; 
var test = this.mini; 
var test = $scope.mini; 
O Mini é sempre indefinido.

Como poderia usar as minhas amarras no meu controlador ? Obrigado.

editar

É assim que chamo o componente:
  <dendro-ctrl id="149" type="Demand" mini="false"></dendro-ctrl>
 0
Author: galiolio, 2017-10-22

1 answers

De a documentação:

Os componentes têm um ciclo de vida bem definido.cada componente pode implementar "ganchos do ciclo de vida". Estes são métodos que serão chamados em certos pontos da vida do componente. Os seguintes métodos de gancho podem ser implementados:
  • $onInit () - chamado em cada controlador depois de todos os controladores de um elemento terem sido construídos e terem as suas ligações inicializadas (e antes das funções de ligação pré & post para o directivas relativas a este elemento). Este é um bom lugar para colocar o código de inicialização para o seu controlador.
  • $onChanges (changesObj) - chamadas sempre que as ligações unidireccionais são actualizadas. O changesObj é um hash cujas chaves são os nomes das propriedades ligadas que mudaram, e os valores são um objeto da forma

Por isso podes usar:

controller: function(Api) {
    var ctrl = this;
    ctrl.$onInit = function() {
        console.log(ctrl.mini);
    }
}

Se quiser mostrar o valor inicial da mini-ligação.

 3
Author: JB Nizet, 2017-10-22 12:38:25