AngularJS - 预加载的模板不适用于指令



我想把我所有的模板放在脚本标签中,并从我的指令中使用它们,而无需使用 ajax 请求。

这是我的模板:

<script id="article_row.html" type="text/ng-template">
    <tr>
        <td class="article-id">[[ article.id ]]</td>
        <td>[[ article.title ]]</td>
        <td>[[ article.user_id ]]</td>
        <td>[[ article.created_at ]]</td>
        <td>
            <article-restore id="article.id"></article-restore>
        </td>
    </tr>
</script>

这是我的指示:

app.directive("articleLine", [function(){
    return {
        return: 'E',
        scope: {
            article : "=data"
        },
        templateUrl: "article_row.html"
    };
}]);

加载时,我在控制台中收到此错误:

Error: Failed to load template: article_row.html

我在控制台中看到浏览器正试图从http://localhost/articles/article_row.html获取它而是在页面中寻找它,我做错了什么吗?

谢谢!

<article-line data="myData"></article-line>

当您将articelLine指令放在上面时,将在您包含article_row.html ng模板并得到错误之前编译此行。

所以,你必须把ng-template放在它面前。

最新更新