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
Javascript 余烬选择集内容绑定_Javascript_Ember.js_Handlebars.js - Fatal编程技术网

Javascript 余烬选择集内容绑定

Javascript 余烬选择集内容绑定,javascript,ember.js,handlebars.js,Javascript,Ember.js,Handlebars.js,我在大视图中使用嵌套视图/模板对Ember进行了相当复杂的设置。我的父视图有一个控制器,上面有一个数组,我想在内部视图/模板中将其用作Select的contentBinding 我已经让handlebars助手在我的内部模板中工作,但我还想以编程方式扩展Select以添加一些验证样式支持。当我扩展余烬时。但是选择并设置它不需要的contentBinding 我的模板中的示例: {{view Ember.Select prompt="Choose" classNam

我在大视图中使用嵌套视图/模板对Ember进行了相当复杂的设置。我的父视图有一个控制器,上面有一个数组,我想在内部视图/模板中将其用作Select的contentBinding

我已经让handlebars助手在我的内部模板中工作,但我还想以编程方式扩展Select以添加一些验证样式支持。当我扩展余烬时。但是选择并设置它不需要的contentBinding

我的模板中的示例:

{{view Ember.Select 
       prompt="Choose" 
       classNames="span12" 
       contentBinding="view.parentView.controller.countrylist" 
       optionLabelPath="content.name" 
       optionValuePath="content.id" 
       selectionBinding="view.parentView.controller.selectedObject"
       valueBinding="view.parentView.controller.model.state"}}
作为使用{{View View.selectBox}}显示的视图,我将selectBox设置为SelectBoxView

SelectBoxView = Ember.Select.extend({
    prompt: "Please Choose",
    contentBinding: 'parentView.controller.countrylist',
    selectionBinding: 'parentView.controller.selectedObject',
    optionLabelPath: 'content.name',
    optionValuePath: 'content.id',
    classNames: ["span12"]
两个选择都会显示,但只有纯车把有数据显示。我已经尝试了我能想到的每一种组合,以在我的外部视图的控制器中访问countrylist

编辑:


好吧,我整个上午都在搞砸这件事。我遇到的问题是从“家长”控制器获取国家/地区。我没有一个用于我所在的视图,我想我可以四处制作一个。

你不想这样硬编码绑定,这是一个糟糕的做法。特别是因为他们正在走出他们的范围寻找价值。将国家/地区列表数组向下传递到视图中,并在创建选择器实例时将其附着

App.AppleView=Em.View.extend({
模板名称:“苹果”
});
App.SelectBoxView=Ember.Select.extend({
提示:“请选择”,
optionLabelPath:“内容”,
optionValuePath:'内容',
类名:[“span12”]
});
{{view App.AppleView countryList=model}
苹果
{{view App.SelectBoxView contentBinding=view.countryList}

这是有道理的,但我没有AppleView“级别”的模型。换句话说,没有定义的控制器。我有上层的路线、控制器和视图。路线提供了我正在填写的模型,控制器有我想要使用的国家列表。内部视图有一个模板,我在其中使用{{View}}辅助对象呈现Select。在这个例子中,我仍然需要使用countryList=parentView.model或类似的东西来访问它,或者我认为这是错误的吗?你介意更新我的例子并给我看一个例子吗?
App.AppleView = Em.View.extend({
  templateName: 'apple'
});

App.SelectBoxView = Ember.Select.extend({
    prompt: "Please Choose",
    optionLabelPath: 'content',
    optionValuePath: 'content',
    classNames: ["span12"]
});

<script type="text/x-handlebars" data-template-name="index">
  {{view App.AppleView countryList=model}}
</script>

<script type="text/x-handlebars" data-template-name="apple">
  Apples
  {{view App.SelectBoxView contentBinding=view.countryList}}
</script>