Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 余烬“;“需要”;ObjectController似乎无法访问_Ember.js - Fatal编程技术网

Ember.js 余烬“;“需要”;ObjectController似乎无法访问

Ember.js 余烬“;“需要”;ObjectController似乎无法访问,ember.js,Ember.js,我在Ember有以下路由器: this.resource('clients', function() { this.route('new'); this.route('client', { path: '/:id' }, function() { this.route('profile'); this.route('sessions'); this.route('payments'); }); })

我在Ember有以下路由器:

  this.resource('clients', function() {
      this.route('new');
      this.route('client', { path: '/:id' }, function() {
        this.route('profile');
        this.route('sessions');
        this.route('payments');
      });   
  });
clients.client.payments
路径中,我希望能够从父控制器
clients.client
访问客户信息,但我正在努力找到一种方法来实现这一点。目前在clients.client.payments控制器中,我有:

needs: ['clients'],
client: computed.alias('controllers.clients'),
这对于连接到客户端记录数组很好,但如果改用:

needs: ['client'],
client: computed.alias('controllers.client'),
我得到一个错误,说它找不到控制器。我现在正在考虑将“客户机”从一种途径改为一种资源(希望这能解决我的问题),但真的没有办法实现我所期待的结果吗


根据在需求中尝试“clientsClient”的建议,我在clients.client.payments控制器中添加了以下内容:

needs: ['clientsClient']
我还尝试了更明确的方法:

needs: ['controller:clientsClient']
但在这两种情况下,我都会得到以下错误:

非常奇怪的递归。我加上“a”,它就错了,说它需要“a”

注意:clients.client控制器是按照建议显式定义的


也有人建议,点符号(又名,
需要:['clients.client']
)将是一种方法。。。事实上,我之前也尝试过,因为这也是我的第一个想法,但这会产生更清晰的错误信息:

需求不得指定名称中带有句点的依赖项(控制器:clients.client)

使用前斜杠

needs: ['clients', 'clients/client'],
client: computed.alias('controllers.clients/client'),

它应该是
clientsClient
,因为路由从其父级继承名称空间,请记住,您还应该定义
clientsClient
控制器。我尝试了此操作,但结果得到了一条奇怪的递归错误消息。我已经更新了问题,以显示这次尝试的结果。好的,我想是越来越近了。“需要”没有抛出任何错误,但计算出的别名是。至少当我尝试使用inspector时,我得到了一个错误,该错误不包括
客户端
。是的,只需将别名改为
需要:['clients','clients/client']
似乎就行了。刚刚发现了另一个问题。虽然没有错误,但别名实际上无法解析(它是“未定义的”)。令我震惊和恐惧的是,答案似乎是别名也需要正斜杠。丑陋的。如果你能更新这个答案,我会说它是正确的:
client:computed.alias('controllers.clients/client')
@ken你一发表评论我就更新了它。有些东西不在文件里