组件中的angularjs“绑定”不起作用

时间:2017-06-11 03:46:19

标签: javascript angularjs components

.component(
  'testComponent',
 {bindings: {name:'<'},
  template: `{{$ctrl.name}}<br/>
             {{$ctrl.title}}<br/>
             {{test.name}}<br/>
             {{test.title}}<br/>
             {{name}}<br/>
             {{title}}<br/>`,
  controller: function (){
    this.name = 'abc';
    this.title = 'def';
  },
  controllerAs: 'test'
})

此代码用于向模块添加组件。 模板中有6个表达式。但只有第二个,$ctrl.title运作良好。其他人没有正确绑定。 当我从name中删除bindings时,$ctrl.name也能正常运作。但是AFAIK所有的6个表达都必须起作用。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

因为绑定'<'在这里意味着单向绑定 你在哪里使用这个组件 应该从您调用此组件的位置传递名称绑定 例如

<test-component>name='abc' </test-component>

如果您使用的是$cntrl,它也可以删除controllerAs = test,因为它是组件的默认控制器,您将用test替换它