Javascript 余烬{{#with…controller=…}}给出了;未捕获类型错误:无法读取属性';查找工厂&x27;“未定义”的定义;
我试图在Ember中访问一个控制器(实际上是一个由控制器扩展的mixin)的属性,我需要使用{{#with}}}handlebar助手。我得到一个错误: 无法读取未定义的属性“lookupFactory” 我尝试为每个控制器指定控制器的位置如下所示:Javascript 余烬{{#with…controller=…}}给出了;未捕获类型错误:无法读取属性';查找工厂&x27;“未定义”的定义;,javascript,ember.js,handlebars.js,Javascript,Ember.js,Handlebars.js,我试图在Ember中访问一个控制器(实际上是一个由控制器扩展的mixin)的属性,我需要使用{{#with}}}handlebar助手。我得到一个错误: 无法读取未定义的属性“lookupFactory” 我尝试为每个控制器指定控制器的位置如下所示: {{#with orders.order controller='ordersIndex'}} 我还尝试了我能想到的所有组合: {{#with orders.order controller='orders'}} {{#with orders.o
{{#with orders.order controller='ordersIndex'}}
我还尝试了我能想到的所有组合:
{{#with orders.order controller='orders'}}
{{#with orders.order controller='Orders'}}
Tried specifying the controller for the route that seems to work:
{{#with orders.order controller='brokerageAccount'}}
{{#with orders.order controller='BrokerageAccount'}}
{{#with orders.order controller='Brokerage'}}
他们中的任何一个都不走运
所有代码都在JSBin中:
两条路线的输出视图:
坏的:(这里如果你打开控制台,你会看到错误)
这一个有效:您将看到一些数据。
我猜
{{with}}
助手有一个bug,因为如果使用{{{model}中的每个元素}
并更新{{with}}以使用elem
变量:{{with elem.orders.order controller='ordersIndex'}
所有工作都正常
这是更新的订单/索引模板:
<script type="text/x-handlebars" data-template-name="orders/index">
<div class="inline-headers">
<h4><label>Brokerage: </label>{{titleize brokerage}}</h4>
</div>
{{#each elem in model}}
<h4 class="account-header"><label>Account: </label>{{account_number}}</h4>
{{#with elem.orders.order controller='ordersIndex'}}
{{partial "_orders_table"}}
{{/with}}
{{/each}}
</script>
经纪:{{titleize Brokerage}
{{{#模型中的每个元素}
帐号:{{帐号}
{{{带elem.orders.order controller='ordersIndex'}}
{{partial{u orders}u table}
{{/与}}
{{/每个}}
这是更新后的jsbin尽管存在缺陷,但总体而言,使用y中的每个x而不是仅使用每个?我可以看到它将更加明确和可读。我认为两者都可以,但我个人也喜欢明确的版本。我创建了一个公关来解决你的问题