如何将值服务传递给组件?

时间:2018-05-28 18:16:52

标签: angularjs

我正在尝试将指令转换为组件。

我在应用上定义了一个值服务('path'),它返回一个用于创建模板URL的路径。使用该指令,它可以注入到函数中,然后用于创建模板URL,如下所示:

.directive('myCustomer', [ 'path', function(path) {
  return {
    templateUrl: path + '/customer.html'
  };
}]);

如何将'path'传递给组件,我有一个对象而不是函数?

3 个答案:

答案 0 :(得分:0)

使用组件绑定来使用该值。 请参阅文档here

由于 阿希什

答案 1 :(得分:0)

使用此功能。

template: '<div ng-include="$ctrl.templateUrl">'

使用组件绑定将值存储在templateUrl中。

答案 2 :(得分:0)

app.component('myCustomer',  {
    template: `<div ng-include="$ctrl.templateUrl"></div>`,
    controller: ['path', function(path) {
        this.templateUrl = path + '/customer.html'
    }] 
});

注意:由于组件使用隔离范围,因此需要在组件和实例化的HTML中添加适当的绑定。

有关详细信息,请参阅AngularJS Developer Guide - Component-based application architecture