如何将参数传递给ember组件
how to pass parameters to ember component
此成员组件模板:
<script type="text/x-handlebars" id="components/blog-post">
<h1>Component: {{title}}</h1>
<p>Lorem ipsum dolor sit amet.</p>
</script>
这是组件代码:
App.BlogPostComponent = Ember.Component.extend({
// how can i access the title property here? (this.title doesn't work)
// also this.get('title') throws error: undefined is not a function
computedProp: 'width' + this.title
});
它的用途:
{{blog-post title=title body=body}}
我可以使用{{title}}
从组件模板轻松访问title属性。
如何从组件代码App.BlogPostComponent
中访问title
属性。
还有一种简单的方法可以在车把中燃烧属性,例如:
<h1 style="width: {{percent}}%">
编辑:
当我按照建议这样做时:
App.BlogPostComponent = Ember.Component.extend({
computedProp: function () {
return 'width' + this.get('title');
}.property('title')
});
我得到错误:
Uncaught Error: Assertion Failed: Attributes must be numbers,
strings or booleans, not function () {
return 'width:' + 50 + '%';
}
编辑2:好的,错误的原因是在函数定义的末尾省略了.property('title')
。现在已经修复了。
this.get
应该可以正常工作,问题是您没有在对象上下文中调用它。定义计算属性的正确方法是:
App.BlogPostComponent = Ember.Component.extend({
computedProp: function () {
return 'width' + this.get('title');
}.property('title')
});
像<h1 style="width: {{percent}}%">
这样的东西现在是不可能的,你应该使用bind-attr
助手+计算属性。
相关文章:
- 将ember对象的数组从ember组件传递到模板
- Ember组件'jQuery可排序的模板问题
- 如何动态渲染 Ember 组件
- Ember组件:将attr绑定到每个属性中
- 如何获取 Ember 组件对象内部承诺成功或错误回调
- Emberjs-1.0 将控制器实例传递给 ember 组件
- 如何使 ember 组件从服务器获取数据.将 AJAX 调用放在组件中似乎不是处理此问题的好做法
- 侦听 Ember 组件外部的点击的正确方法是什么?
- 在JS文件中抓取Ember组件的内容
- 如何在应用程序模板中先加载 Ember 组件,然后再加载其他所有内容
- 动态确定 Ember 组件是否存在
- 指定 Ember 组件的目标操作
- Ember组件块在视图中的作用域
- 从DOM元素中获取Ember组件
- Ember组件和动态属性的迭代
- 如何将参数传递给ember组件
- Ember组件加载存储数据
- 新Ember组件中输入助手的最佳实践
- 从Ember 2.0组件调用控制器动作
- 使用Ember组件'的方法