.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个表达都必须起作用。
我做错了什么?
答案 0 :(得分:1)
因为绑定'<'
在这里意味着单向绑定
你在哪里使用这个组件
应该从您调用此组件的位置传递名称绑定
例如
<test-component>name='abc' </test-component>
如果您使用的是$cntrl
,它也可以删除controllerAs = test,因为它是组件的默认控制器,您将用test
替换它