2017-02-22 48 views
2

我正在开发我的第一个Angular应用程序,并且遇到了数据绑定的一些麻烦。Angular 2:与函数调用的数据绑定

我有包含以下元素的一种成份:

`<span>{{action.getText()}}</span>` 

动作是具有以下的方法动作的类型:

getText(): String { return "Test"; } 

可变动作是否正确定义,因为我可以访问属性通过{{}}无问题。例如{{action.title}}

所以我的问题是,这是甚至有可能访问此功能,如果是的话,我做错了什么?

+1

'action'看起来像什么?我通常使用'string'数据类型不是'字符串' –

+0

尝试一个propery getter' get text(){return“Test”; }'和'{{action.text}}'。只有在动作对象来自组件ts文件或者使用#标签定义的局部变量时才能工作。 –

+0

@MaximeGélinas我现在已经在我的组件中获得了text(){return“Test”;}'和{{action.text}}'。但现在没有文字显示(至少它不再崩溃)。变量动作在关联的组件文件 – Luca

回答

3

你可以将其转换为一个属性:

get text(): string { return "Test"; } 

您的模板就变成了:

<span>{{ation.text}}</span> 
+0

划痕。您可以转换为属性,但绑定到函数结果实际上按预期工作。 –

+0

现在,它什么也没有显示在''应该是 – Luca

+0

任何东西在控制台? –

0

您参考action.title,但ation.getText()。当然是一个错字?

<span>{{action.getText()}}</span> 
+0

'ation'是一个错字,我现在纠正了。对'action.title'的引用应该只是表明变量是正确定义的,因为我可以访问这个属性。 – Luca