Angular 1.x组件templateUrl不在DOM中呈现

时间:2016-08-02 18:24:01

标签: javascript angularjs

我的组件设置如下:

// app/my-component/my-component.js
app.component('myComponent', {
    bindings: {
        bindingA: '=',
        bindingB: '='
    },
    templateUrl: 'app/my-component/my-component.tpl.html',
    controller: MyComponentCtrl
});

// app/my-component/my-component.tpl.html
<div>
    <input type="text" ng-model="$ctrl.bindingA" />
    <input type="text" ng-model="$ctrl.bindingB" />
</div>

不会抛出任何错误;我的模板文件在Chrome的开发工具中显示得很好。 XHR请求的网络预览显示正确但它不会在DOM上呈现...

如果我将templateUrl换成template,字符串将在DOM中显示正常。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

想要在键盘上击败我的头后,我意识到这段代码干扰了templateUrl的响应:

$httpProvider.interceptors.push(function() {
    return {
            'response': function (response) {
                response.data = response.data.d;

                return response;
            }
        }
    });

只需更改为:if (response.data.d) response.data = response.data.d;

生命中的另一天我会告诉你......