Вопрос

The following code does not work when the url is /company/martin:

 this.route('scheduledTasks', {
    path: '/company/:name',
    data: {
      items:
      function(){
        return scheduledTasks.find({company: this.params.name});
      }
    }

While this does work:

 this.route('scheduledTasks', {
    path: '/company/:name',
    data: {
      items:
      function(){
        return scheduledTasks.find({company: "martin"});
      }
  }

I tried several solutions, but it seems that this.params.name does not exist or cannot be accessed??

Это было полезно?

Решение

this.params.name needs to be evaluated within the context of the route, and I believe that only can happen if data is a function and not an object literal. Try this:

this.route('scheduledTasks', {
  path: '/company/:name',
  data: function() {
    var company = this.params.name;
    return {
      items: function() {
        return scheduledTasks.find({company: company});
      }
    };
  }
});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top