gpt4 book ai didi

ember.js - 从 Ember Handlebars 模板内部获取 Ember Controller 的函数属性

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

在 Ember Handlebars 模板中,可以使用

访问 Controller 的(基于字符串/ bool 值/数字)属性
  • {{someProperty}}
  • <someHtmlTag {{bindAttr someHtmlTagAttribute="someProperty" />

构造。

这似乎不适用于基于函数的 Controller 属性。

示例

以下作品

//Handlebars
<script type="text/x-handlebars" id="index">
Some property: {{someProperty}}<br/>
</script>

//Javascript
App.IndexController = Ember.ObjectController.extend({
someProperty: "yolo",
});

以下内容不起作用

//Handlebars
<script type="text/x-handlebars" id="index">
Some property: {{someProperty}}<br/>
</script>

//Javascript
App.IndexController = Ember.ObjectController.extend({
someProperty: function() {
return "yolo"; },
});

<强> Here is a jsFiddle

<小时/>

使用{{bindAttr ...}}给出了对问题的一些见解:

Uncaught Error: assertion failed: Attributes must be numbers, strings or booleans, not function ()  ...{

如何从 Handlebars 模板中访问基于函数的 Ember Controller 属性?

最佳答案

如果您只需要在访问属性时执行一个函数,那么您可以执行以下操作:

//Javascript
App.IndexController = Ember.ObjectController.extend({
someProperty: function() {
// do your stuff...
return "yolo";
}.property()
});

工作中fiddle

希望对你有帮助

关于ember.js - 从 Ember Handlebars 模板内部获取 Ember Controller 的函数属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16630299/

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