小编Yoo*_*ooz的帖子

继承方法调用触发Typescript编译器错误

我遇到了webstorm打字稿编译器的问题.我有以下课程

export class rootData{
  id:string
  //...

  constructor(){
    //...
  }

  insert = ():Promise<any> =>{
    //...
  }
}

class child extends rootData {
  //...   

  constructor(){
     super();
  }

  insert = ():Promise<any> => {
        return super.insert();
    }
}
Run Code Online (Sandbox Code Playgroud)

所以输入"super",我在intellisense中看到所有rootData公共方法.但是在设置super.insert()之后,我收到以下错误:

TS2340:只能通过'super'关键字访问基类的公共和受保护方法

在TS游乐场尝试,它正在工作(简化版思想).

谢谢你的帮助.

编辑:检查编译的JavaScript后,超级方法的调用就在那里.所以编译器给出了一个错误,但编译...

javascript node.js webstorm typescript

8
推荐指数
1
解决办法
4170
查看次数

Knockout Jquery绑定点击不起作用

第一个问题!希望我做得好.

我有这个绑定列表:

<table id="restaurants_list" data-bind="foreach : restaurants" style="display: none">
    <tr>
        <td data-bind="text:name"></td>
        <td data-bind="text:address.address1"></td>
        <td data-bind="text:address.address2"></td>
        <td data-bind="text:address.postcode + ' ' + address.suburb"></td>
        <td>
            <input type="button" value="show" data-bind="click: $root.showmap" />
        </td>
    </tr>
</table>
<div id="map"></div>
Run Code Online (Sandbox Code Playgroud)

这里的模型视图:

function RestaurantsViewModel() {
    var self = this;
    self.restaurants = data;
    self.showMap = function (restaurant) {
        $("#map").show();
        ....
    };
    showMap(restaurants[0]);
};
Run Code Online (Sandbox Code Playgroud)

最后绑定:

$(document).ready(function () {
    $("#link_get_restaurants").bind("click", get_restaurants);
});
function get_restaurants(event) {
    $("#restaurants_list").show();
    ko.applyBindings(new RestaurantsViewModel());
}
Run Code Online (Sandbox Code Playgroud)

第一个showmap(restaurants[0])工作正常.但是,click : $root.showmap不开火.

我做错了什么?我也使用Jquery,我不知道它是否可以来自那个.

谢谢.

jquery binding click knockout.js

0
推荐指数
1
解决办法
1227
查看次数