Typescript Nativescript数据绑定函数调用不起作用

Typescript Nativescript数据绑定函数调用不起作用,typescript,data-binding,nativescript,radlistview,Typescript,Data Binding,Nativescript,Radlistview,关于这个链接 我使用一个RadList,其中对于每个项目,我都有一个标签,在这里我需要显示一个组合字符串,检查基于项目参数的复杂逻辑 有人能给我们举一个typescript例子,说明我们如何使用函数调用吗。我尝试了很多方法,但都不管用 创建一个函数,然后您可以通过将元素的属性绑定到该函数来自由使用它 getLabel(args): string { return "a" !== args ? "My label" + args: "Your Label ? " + args; } &

关于这个链接

我使用一个RadList,其中对于每个项目,我都有一个标签,在这里我需要显示一个组合字符串,检查基于项目参数的复杂逻辑


有人能给我们举一个typescript例子,说明我们如何使用函数调用吗。我尝试了很多方法,但都不管用

创建一个函数,然后您可以通过将元素的属性绑定到该函数来自由使用它

getLabel(args): string {
    return "a" !== args ? "My label" + args: "Your Label ? " + args;
}


<Label text="{{ getLabel('dynamic') }}" class="lbl" textWrap="true" />
getLabel(args):字符串{
返回“a”!==args?“我的标签”+args:“你的标签?”+args;
}

创建一个函数,然后您可以通过将元素的属性绑定到该函数来自由使用它

getLabel(args): string {
    return "a" !== args ? "My label" + args: "Your Label ? " + args;
}


<Label text="{{ getLabel('dynamic') }}" class="lbl" textWrap="true" />
getLabel(args):字符串{
返回“a”!==args?“我的标签”+args:“你的标签?”+args;
}

正如库利塔所建议的那样-使用$parent应该可以,但是不行。这对我来说似乎是一个bug,请确保在中打开一个关于它的新问题

作为一种变通方法,您可以在用于将模板绑定到的类型中创建函数。在这种情况下,它可以按预期工作:

class Location {
    constructor(city: string, country: string, imageSrc: string) {
        this.city = city;
        this.country = country;
        this.imageSrc = imageSrc;
    }

    city: string;
    country: string;
    imageSrc: string;

    getLabel(args): string {
        return "a" !== args ? "My label" + args : "Your Label ? " + args;
    }
}

看看库利塔建议的。

——使用$parent应该可以,但是不行。这对我来说似乎是一个bug,请确保在中打开一个关于它的新问题

作为一种变通方法,您可以在用于将模板绑定到的类型中创建函数。在这种情况下,它可以按预期工作:

class Location {
    constructor(city: string, country: string, imageSrc: string) {
        this.city = city;
        this.country = country;
        this.imageSrc = imageSrc;
    }

    city: string;
    country: string;
    imageSrc: string;

    getLabel(args): string {
        return "a" !== args ? "My label" + args : "Your Label ? " + args;
    }
}

看看。

你能和你试过的人分享一下吗?这将使提供方向变得更容易。操场示例:@anthares@anthares你有时间检查操场吗?是的,看看我的回答。你能和我分享一下你尝试过的吗?这将使提供方向更容易。操场示例:@anthares@anthares你有时间检查操场吗?是的,看看我的回答。它不起作用。日志错误控制台错误file:///app/tns_modules/tns-core-modules/js-libs/polymer-expressions/polymer-expressions.js:186:24: 找不到函数或筛选器:GetLabel您可以共享一个示例吗?遇到问题。当它在简单页面中时,它就起作用了。我有一个RadListView,为了一个项目标题,我尝试了这个。在那里,它不起作用。有线索吗@CulitaPlayground示例:根据NS文档,模板没有相同的绑定上下文。您需要使用特殊关键字$parent或$parents才能访问父绑定上下文。它不起作用。日志错误控制台错误file:///app/tns_modules/tns-core-modules/js-libs/polymer-expressions/polymer-expressions.js:186:24: 找不到函数或筛选器:GetLabel您可以共享一个示例吗?遇到问题。当它在简单页面中时,它就起作用了。我有一个RadListView,为了一个项目标题,我尝试了这个。在那里,它不起作用。有线索吗@CulitaPlayground示例:根据NS文档,模板没有相同的绑定上下文。您需要使用特殊关键字$parent或$parents才能访问父绑定上下文。感谢@anthares提供的解决方案。我为此打开了一个问题,感谢@anthares的解决方案。我为此打开了一个问题