我正在用MVC5创建一个angularJs应用程序,我已经创建了一个指令,如下所示。
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
。
app.directive('clusterButton', function () {
return {
restrict: 'E',
scope: {
clusterInfo: '=info'
},
templateUrl: function(elem, attr){
return 'ClusterButtonTemplate.html';
}
};
});
我没有在我的项目中使用angular js
路由。一切都是使用MVC routing
进行管理的。我如何解决这个问题。我需要使用Angular routing
和MVC routing
吗
发布于 2016-07-06 12:50:47
您需要放入一个MVC不会尝试将URL映射到控制器的位置。默认情况下,/Content
文件夹被忽略,因此您可以在该文件夹下创建一个名为"Templates“的文件夹,并将其用作URL。
templateUrl: function(elem, attr){
return '/Content/Templates/ClusterButtonTemplate.html';
发布于 2015-12-14 15:01:11
您可以尝试使用前导斜杠,因为它是使用相对路径加载的。
templateUrl: function(elem, attr){
return '/ClusterButtonTemplate.html';
}
发布于 2018-06-16 02:38:24
这很简单!只需将html文件模板(作为内容)放在您喜欢的文件夹中(即.项目根目录中的app/phone-list/ ),然后分配
templateUrl: '/app/phone-list/phone-list.template.html'
添加到控制器templateUrl属性。避免使用视图、模型或控制器文件夹...
https://stackoverflow.com/questions/34221926
复制相似问题