代码之家  ›  专栏  ›  技术社区  ›  Matan Hafuta

AngularJS-预加载的模板无法使用指令

  •  1
  • Matan Hafuta  · 技术社区  · 10 年前

    我希望将所有模板放在脚本标记中,并从指令中使用它们,而不需要使用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 相反,在页面中查找它,我是否做错了什么?

    谢谢

    1 回复  |  直到 10 年前
        1
  •  1
  •   Chen-Tsu Lin    10 年前
    <article-line data="myData"></article-line>
    

    当你把你的 articelLine 在上面的指令中,将在包含 article_row.html ng模板并获取错误。

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