AngularJS 自定义组件 - 未定义绑定

AngularJS custom component - undefined binding

在 AngularJS 中编写一个自定义组件,我想将一个名为 "parentview" 的属性传递给它。

我的代码如下

我的组件控制器中'parentview'的console.log()显示"undefined"...我不明白为什么。特别是考虑到 'user' 和 'limit' 显示得很好。

有什么线索吗?

谢谢

dashboard.html

<div>
    <suggested-sessions user="user" limit="3" parentview='Dash'></suggested-sessions>
</div>

建议的会话组件:

component('suggestedSessions', {
  bindings: {
    user: '<',
    limit: '<',
    parentview: '<'
  },
  template:
  `
    <div class="padding-container">
    <session-item-by-id ng-repeat="group in $ctrl.groups | orderBy:'preview.timestamp'" group=group limit="3" parentview="$ctrl.parentview"></session-item-by-id>
    </div>
  `,
  controller: function($q, $timeout, GroupService) {
    this.$onInit = function() {
      console.log('parent view: ', this.parentview);
    }
  }
 });

尝试使用 @ 而不是 < 来绑定您的字符串。

bindings: {
    user: '@',
    limit: '<',
    parentview: '@'
},

来自 AngularJS Components 文档:

@ bindings can be used when the input is a string, especially when the value of the binding doesn't change.

如果你想传递一个字符串,我认为你需要添加额外的引号

JSFiddle example

 <div>
   <suggested-sessions user="user" limit="3" parentview='"Dash"'></suggested-
    sessions>

 </div>