首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在mvc 5项目中使用angular指令模板url中的html文件

在mvc 5项目中使用angular指令模板url中的html文件
EN

Stack Overflow用户
提问于 2015-12-11 18:59:10
回答 3查看 3.2K关注 0票数 5

我正在用MVC5创建一个angularJs应用程序,我已经创建了一个指令,如下所示。

代码语言:javascript
复制
app.directive('clusterButton', function () {
    return {
        restrict: 'E',
        scope: {
            clusterInfo: '=info'
        },
        templateUrl: function(elem, attr){
            return 'ClusterButtonTemplate';
        }
    };
});

我有一个名为ClusterButtonTemplate.cshtml.cshtml文件,并且我在控制器类中创建了一个局部视图方法来返回该视图。因此,angular js指令正在绑定模板。

我需要移除mvc控制器类中的方法,并且需要直接引用模板文件。我不想使用cshtml文件。我需要一个模板的html文件。我已经创建了一个ClusterButtonTemplate.html文件。但在如下所示设置模板时,浏览器会显示一个404 error

代码语言:javascript
复制
app.directive('clusterButton', function () {
    return {
        restrict: 'E',
        scope: {
            clusterInfo: '=info'
        },
        templateUrl: function(elem, attr){
            return 'ClusterButtonTemplate.html';
        }
    };
});

我没有在我的项目中使用angular js路由。一切都是使用MVC routing进行管理的。我如何解决这个问题。我需要使用Angular routingMVC routing

EN

回答 3

Stack Overflow用户

发布于 2016-07-06 12:50:47

您需要放入一个MVC不会尝试将URL映射到控制器的位置。默认情况下,/Content文件夹被忽略,因此您可以在该文件夹下创建一个名为"Templates“的文件夹,并将其用作URL。

代码语言:javascript
复制
templateUrl: function(elem, attr){
    return '/Content/Templates/ClusterButtonTemplate.html';
票数 4
EN

Stack Overflow用户

发布于 2015-12-14 15:01:11

您可以尝试使用前导斜杠,因为它是使用相对路径加载的。

代码语言:javascript
复制
        templateUrl: function(elem, attr){
            return '/ClusterButtonTemplate.html';
    }
票数 0
EN

Stack Overflow用户

发布于 2018-06-16 02:38:24

这很简单!只需将html文件模板(作为内容)放在您喜欢的文件夹中(即.项目根目录中的app/phone-list/ ),然后分配

代码语言:javascript
复制
templateUrl: '/app/phone-list/phone-list.template.html'

添加到控制器templateUrl属性。避免使用视图、模型或控制器文件夹...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34221926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档