我刚开始使用Angularjs,我正在尝试建立一个指令 我的js文件:
var app = angular.module('myCars',['ngResource']);
app.controller('CarController', function (Post) {
var b = Post.query(function () {
console.log(all);
});
this.cars = b;
});
app.directive("carCritics", function () {
return {
restrict: 'E',
templateUrl: '~/Views/Home/car-critics.cshtml'
};
});
在我的cshtml文件中,它看起来像这样:
<car-critics></car-critics>
我在互联网上阅读了很多关于指令的文档,我看不出我做错了什么。每当我启动应用程序时,我的指令中的部分都没有显示。我真的很喜欢任何类型的帮助。
答案 0 :(得分:1)
templateUrl
不正确。
~
是服务器知道的(例如使用Server.MapPath
)但客户端不知道(客户端如何知道服务器的根目录) ?)。
您需要在没有~
的情况下放置完整路径。
答案 1 :(得分:0)
你不能立即从Views文件夹中获取.cshtml。你必须创建一个ActionResult然后返回“car-critics.cshtml”,如下所示:
public class HomeController
{
public ActionResult CarCritics() {
return View("car-critics");
}
}
和指令应该是:
app.directive("carCritics", function () {
return {
restrict: 'E',
templateUrl: '/Home/CarCritics'
};
});