Angular 1.5组件未传递模态数据

时间:2016-03-04 15:22:30

标签: javascript angularjs angularjs-directive

这是一个位于此处的傻瓜:

https://plnkr.co/edit/V8lGOv44a95weFKipDYF?p=preview

app.component('exampleComponentTest', {
    bindings: {
        title: '='
    },
    template: '<h2>Title: {{exampleComponentTest.title}}</h2>',
    controller: function() {

    }
});

我创建了一个自定义组件,希望它接受标签中的title属性,但它没有按照我的预期工作。如何让它正常工作?

2 个答案:

答案 0 :(得分:3)

虽然您的代码在1.5版本的候选版本中运行良好,但在最终版本中更改了访问组件模板中控制器的命名约定。它现在默认为$ctrl

app.component('exampleComponentTest', {
    bindings: {
        title: '='
    },
    template: '<h2>Title: {{$ctrl.title}}</h2>',
    controller: function() {

    }
});

答案 1 :(得分:1)

默认情况下,视图中绑定的控制器名称为$ctrl

因此,如果您希望它起作用,您应该拥有以下模板:

template: '<h2>Title: {{$ctrl.title}}</h2>'

如果您想使用exampleComponentTest,则必须在组件中添加属性controllerAs

app.component('exampleComponentTest', {
    bindings: {
        title: '='
    },
    template: '<h2>Title: {{exampleComponentTest.title}}</h2>',
    controller: function() {

    },
    controllerAs: 'exampleComponentTest'
});