【问题标题】:Button with handler and bound tag attributes带有处理程序和绑定标签属性的按钮
【发布时间】:2017-06-08 12:49:22
【问题描述】:

我想在 jsviews 模板中定义一个同时具有点击处理程序和数据绑定属性的按钮。

假设我有这些数据:

var data = {
    Enable : true,
    DisplayName : "foo",
    SomeData : 42
};

这个助手:

var handlers = {
    fooClicked : function(data, evt) {
        console.log(arguments);
    }
};

如何在我的模板中添加一个按钮来检测事件处理程序和按钮的属性?

我试过了:

  • <button data-link="{on ~onAvailabilityClick SomeData disabled:^{!Enable}}"> {^{>DisplayName}} </button>
  • <button data-link="{on ~onAvailabilityClick SomeData} disabled:^{!Enable}"> {^{>DisplayName}} </button>
  • {^{on ~onAvailabilityClick SomeData}}<button data-link="disabled:^{!Enable}"> {^{>DisplayName}} </button>{{/on}}

但是这些都不起作用(模板语法错误或不完整的按钮,例如没有文本或没有处理程序)。

我正在使用 jsViews 0.98.4。

PS:我不知道这是否重要,但实际上,我的模板是在 for 循环中提供的,用于深层对象结构。

【问题讨论】:

    标签: jsviews


    【解决方案1】:

    您可以在此处找到有关设置多个数据链接绑定和其他相关主题的文档:

    在你的情况下,你需要写

    <button data-link="disabled{:!Enable} {on ~onAvailabilityClick SomeData}">
         {^{>DisplayName}}
    </button>
    

    或者如果您愿意:

    <button
      data-link="disabled{:!Enable} {on ~onAvailabilityClick SomeData} {:DisplayName}">
    </button>
    

    【讨论】:

      【解决方案2】:

      我终于成功了:

      <button data-link="disabled{:!Enable} {on ~onAvailabilityClick SomeData}">
           {^{>DisplayName}}
      </button>
      

      【讨论】:

      • 您似乎有错字或复制粘贴错误。你的意思是="disabled{:!Enable} {on ...?我添加了一个带有更正语法和一些链接的答案...
      猜你喜欢
      • 1970-01-01
      • 2013-07-08
      • 2015-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-10
      相关资源
      最近更新 更多