Phoenix Framework and AngularJS templates



如何从Phoenix框架应用程序加载AngularJS模板?我正在使用ui路由器使用templateUrl加载模板。这是角度为1.5。

myAppModule.config(['$stateProvider', '$urlRouterProvider', '$httpProvider', function ($stateProvider, $urlRouterProvider, $httpProvider) {
 $stateProvider
    .state('event', {
        url: '/event',
        templateUrl: '/templates/event/event.html'
        // template: '<h1>Stuff</h1>'
    })

 $urlRouterProvider.otherwise('/event');
}]);

加载内联模板是可行的,所以它显然是我正在努力解决的加载模板的机制。我需要更改早午餐配置中的任何设置吗?

谢谢

Eamon

这并不太简单。我也遇到了同样的问题,下面是我的解决方案。Phoenix Framework有一个目录,您可以在其中放置HTML文件,该目录的名称为web/static/assets,您可以在此设置文件,但如果您需要创建像web/static/assets/templates这样的目录,则需要在endpoint.ex中添加异常,如:

  plug Plug.Static,
    at: "/", from: :app, gzip: false,
    only: ~w(css fonts images templates js favicon.ico robots.txt)

现在,您可以重新编译并运行Elixir代码,并加载文件,如:

myAppModule.config(['$stateProvider', '$urlRouterProvider', '$httpProvider', function ($stateProvider, $urlRouterProvider, $httpProvider) {
 $stateProvider
    .state('event', {
        url: '/event',
        templateUrl: 'templates/event/event.html'
    })
 $urlRouterProvider.otherwise('/event');
}]);

我希望这对你也有用。