如何在AngularJs 1.6组件中的控制器中使用绑定

时间:2017-10-22 12:25:09

标签: angularjs

你好,这是我的组成部分:

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

    var test = mini;

我试过了:

var test = mini; 
var test = this.mini; 
var test = $scope.mini; 

Mini每次都是未定义的。

我如何在控制器中使用我的绑定?感谢

修改

这就是我调用组件的方式:

  <dendro-ctrl id="149" type="Demand" mini="false"></dendro-ctrl>

1 个答案:

答案 0 :(得分:3)

来自the documentation

  

组件具有明确定义的生命周期每个组件都可以实现“生命周期挂钩”。这些是在组件生命周期的某些点调用的方法。可以实现以下钩子方法:

     
      
  • $ onInit() - 在构造了元素上的所有控制器并初始化其绑定之后(在此元素上的指令的pre&amp; post链接函数之前),在每个控制器上调用。这是为控制器放置初始化代码的好地方。
  •   
  • $ onChanges(changesObj) - 每当更新单向绑定时调用。 changesObj是一个哈希,其键是已更改的绑定属性的名称,值是表单的对象
  •   

所以你可以使用:

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

如果要显示迷你装订的初始值。