【问题标题】:Angular 1.5: pass attribute to componentAngular 1.5:将属性传递给组件
【发布时间】:2016-08-31 21:14:43
【问题描述】:

我觉得我在 Angular 版本之间陷入了一个黑洞,我无法做一些应该简单的事情。文档没有帮助。

我正在使用 1.5.x,并且正在做一个小组件,它应该用作“正在加载...”文本,里面有一个轻动画,这是组件代码:

ctrls.component('limbo', {
  bindings: {
    loadingtext: '='
  },

  controller: function () {
    this.test = 0;
    this.p = '...';

    this.$onInit = function () {
      this.tmo = setInterval(function () {
        this.p += '.';
        document.getElementById('loader_txt').innerHTML = this.p;

        if (this.p.length  === 18)
          this.p = '...';
      }.bind(this), 100);
    };
  },

  template: [
    '<div class="alert alert-info">',
      '<span>{{$ctrl.loadingtext}}</span>',
      '<span>{{loadingtext}}</span>',
      '<span id="loader_txt"></span>',
    '</div>'
  ].join('')
});

这是应该使用它的部分中的 html:

<limbo loadingtext="loading projects"></limbo>

我尝试了 {{$ctrl.loadingtext}} 和 {{loadingtext}} 这两个选项。有人可以解释一下这种交流是如何工作的。我希望组件接收两个属性,一个是加载时要显示的文本,另一个是可以应用于该特定边缘实例的附加类。

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    您在传递值时在loadingtext: '=' 中使用了“=”,因此您应该使用“@”;

    What is the difference between & vs @ and = in angularJS

    【讨论】:

    • 这是什么意思呢?对于一个完整的初学者来说这不是很有帮助,这个“@”符号应该在代码中的什么位置?
    猜你喜欢
    • 1970-01-01
    • 2017-04-15
    • 1970-01-01
    • 1970-01-01
    • 2019-01-02
    • 1970-01-01
    • 2018-06-13
    • 2017-07-14
    • 1970-01-01
    相关资源
    最近更新 更多