【问题标题】:Kendo UI Text-Binding on Buttons and Links按钮和链接上的 Kendo UI 文本绑定
【发布时间】:2012-11-27 13:06:13
【问题描述】:

我实际上认为这将是一项简单的任务,但我无法让它发挥作用。 这是场景:

我有一个视图模型,它有一个包含各种字符串的标签对象。

label: {
    'title': app.options.localize('products'),
    'leftTabButton': app.options.localize('menu'),
    'rightTabButton': app.options.localize('scan'),
    'leftDetailButton': app.options.localize('back'),
    'rightDetailButton': app.options.localize('save')
}

现在我有一个对应的视图绑定到该模型并尝试将这些标签绑定到一些按钮。

<div id="navbar" data-role="navbar">
    <a data-align="left" data-bind="Text: label.leftDetailButton"></a>
    <span data-role="view-title" data-bind="text: label.title"></span>
    <a data-role="button" data-align="right" data-bind="Text: label.rightDetailButton"></a>
</div>

但是绑定到&lt;a&gt; 和绑定到data-role="button"(这是一个小部件)都没有成功。 我总是得到:“未捕获的错误:a 元素不支持文本绑定” 我也尝试过自定义绑定...也不行。

kendo.data.binders.widget.buttonText = kendo.data.Binder.extend({
    init: function(widget, bindings, options) {
    widget.element[0].innerText = bindings.buttonText.path;
}
});

虽然bindings.buttonText.path 是视图模型中字符串的路径,但我不知道如何告诉它要使用哪个模型或在哪里提供对模型的引用。

有什么建议吗?

【问题讨论】:

    标签: text mvvm binding kendo-ui


    【解决方案1】:

    您是否意识到您为&lt;a&gt; 输入了Text 而不是text?尝试改变它! 另外,我认为你也错过了在后退按钮中指定角色data-role="backbutton"

    【讨论】:

    • 感谢您的回复。老实说,我没有意识到那个错字。不过,将 Text 更改为 text 不会影响结果。仍然是错误。关于后退按钮:我想要一个按钮,而不是后退按钮;)
    • 请签入jsfiddle。它对我有用
    • 顺便说一句:对于第一个&lt;a&gt;,如果你想要button,你必须说出来;-)。你忘了data-role="button"
    • 你确实在摆弄作品。我“摆弄”了一下,但真的想不出我的代码有什么问题。唯一可能的是时间问题(我在对象准备好之前绑定或像这样)。到目前为止我注意到的差异:我使用声明性绑定data-model="bound",并且包含标签的对象是可观察的。顺便说一句:我想出了如何使用自定义绑定。有了这样的绑定,它可以完美地工作。这就是为什么我认为这是一个时间问题,因为我在应用程序的第一次启动时注册了绑定。
    • 我没有忘记data-role,我试图绑定到一个简单的&lt;a&gt; 元素,看看这是否有效。因为这是一个元素,而按钮是一个小部件。如果我在你的小提琴中重命名绑定,它仍然说不能绑定到widget button 的元素a instead。奇怪的事情......
    猜你喜欢
    • 1970-01-01
    • 2014-03-09
    • 1970-01-01
    • 2017-07-30
    • 1970-01-01
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    • 2011-02-21
    相关资源
    最近更新 更多