Angularjs指令没有显示

时间:2015-06-04 06:34:52

标签: javascript angularjs

我刚开始使用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>

我在互联网上阅读了很多关于指令的文档,我看不出我做错了什么。每当我启动应用程序时,我的指令中的部分都没有显示。我真的很喜欢任何类型的帮助。

2 个答案:

答案 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'
        };
    });