gpt4 book ai didi

ember.js - 如何访问传递给组件类内的 Ember 组件的属性?

转载 作者:行者123 更新时间:2023-12-05 00:26:04 25 4
gpt4 key购买 nike

我在模板中声明了一个 emberjs 组件:

<script type="text/x-handlebars" id="components/custom-component">      
<h4>The name of the object passed is : {{object.name}}</h4>
{{#if show_details}}
<p>The details of the object passed are : {{object.details}}</p>
{{/if}}
</script>

现在我在我的 html 模板中使用这个组件:
<script type="text/x-handlebars" data-template-name="index">
<ul>
{{#each object in model}}
<li>{{custom-component object=object}}</li>
{{/each}}
</ul>
</script>

我的自定义组件组件类如下所示:
App.CustomComponentComponent = Ember.Component.extend({
show_details: function() {
// return true or false based on the OBJECT's property (e.g. "true" if object.type is 'AUTHORIZED')
},
});

更新

我实现它的方式如下:
App.CustomComponentComponent = Ember.Component.extend({
show_details: function() {
var object = this.get('object');
if (object.type == "AUTHORIZED")
return true;
else
return false;
}
});

传递给组件类的参数可以使用它的 get 获得。方法。

最佳答案

它应该这样工作:

{{custom-component object_name=object}}

(您只是使用了错误的属性名称)。

如果 object,这应该有效是对象名称。如果 name 是 object 的属性然后使用 object.name .

更新

这应该很简单。 show_details应根据 object type 定义为计算属性:
App.CustomComponentComponent = Ember.Component.extend({
object: null,
show_details: function() {
var object = this.get('object');
if (object.get('type') === "AUTHORIZED")
return true;
else
return false;
}.property('object.type')
});

或更简单:
App.CustomComponentComponent = Ember.Component.extend({
show_details: function() {
return this.get('object').get('type') === "AUTHORIZED";
}.property('object.type')
});

不要忘记使用 get访问 Ember 对象的属性时。

关于ember.js - 如何访问传递给组件类内的 Ember 组件的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22956756/

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