gpt4 book ai didi

binding - Emberjs Controller 需要绑定(bind)

转载 作者:行者123 更新时间:2023-12-02 06:11:39 25 4
gpt4 key购买 nike

我有嵌套资源:

    this.resource('foo', {path: '/foo/:foo_id'}, function() {
this.route('makesomethingwithfoo');

this.resource('bar', {path: 'bar/:bar_id'}, function() {
this.route('makesomethingwithbar');

我想使用模型 foo 中的一些属性在,而我在 #/foo/321421/bar/231421 .
我的 BarIndexController看起来像这样:
   ... = Ember.ObjectController.extend({
needs:'fooIndex',
//myBinding: 'controllers.fooIndex',
....});

如果我使用 controllers.fooIndex.desiredProperty 在我的模板中我可以访问模型 foo 的属性.我想用 myBinding为了节省多写几个字符( controllers.fooIndex)。我认为我做的一切都是正确的,至少根据 documentation 看起来是正确的.我收到此错误:
     Uncaught Error: assertion failed: Cannot delegate set('my', <(subclass of 
Ember.ObjectController):ember238>) to the 'content' property of object proxy
<(subclass of Ember.ObjectController):ember249>: its 'content' is undefined

最佳答案

controller型号为foo . fooIndex route 是 foo 的隐式嵌套路由路线,因此有一个自己的 Controller 。嵌套 FooIndexController还需要根据需要在其父路由上查找模型。

在这种情况下,您的 bar路由需要使用foo而不是 fooIndex在需求声明中。

needs:'foo',
fooBinding: 'controllers.foo'
fooBinding是可选的。它将查找缩短为 this.get('foo') .您可能还想引用此 answer帮助澄清 Ember 中的嵌套资源。

关于binding - Emberjs Controller 需要绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17778217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com