4

作为一个 Rails 人,我爱我一些 Haml 或 Slim。但是,在使用 AngularJS 时,我都没有太多运气。是否有一个对 AngularJS 友好且比直接 HTML 更简洁的模板引擎?

4

2 回答 2

1

我正在为我的 angularjs 模板使用 slim。我花了很长时间才弄清楚该怎么做,但是一旦你知道怎么做就很容易了。

添加 slim gem 并捆绑安装。

确保您有一个模板目录。我的是:

assets/javascripts/templates

然后在 config/initializers 中创建一个文件。我的只是 slim_engine.rb。名字无所谓。

然后在该文件中包含以下行:

Rails.application.assets.register_engine('.slim', Slim::Template)

这是我拥有的使用这些模板之一的路由提供程序的片段:

angular.module('customer_app', ['customer_service'])
  .config(['$routeProvider', function($provider) {
    $provider.when('/:customer_id/edit/', { templateUrl: '/assets/customers/edit.html.slim', controller: 'CustomersController' });
  }])
  .config(["$httpProvider", function(provider) {
    provider.defaults.headers.common['X-CSRF-Token'] = $('meta[name=csrf-token]').attr('content');
  }]);

完整的模板路径是:assets/templates/customers/edit.html.slim

希望这可以帮助!

于 2013-05-11T17:36:42.043 回答
0

我已经写了关于如何将haml用于带有rails的angularjs模板并在此处的一个请求中正确加载所有模板:http: //minhajuddin.com/2013/04/28/angularjs-templates-and-rails-with-急切加载

于 2013-04-28T12:00:57.010 回答