这是我第一次在coffeescript中使用继承。
我试图从扩展类调用方法,但是方法@create来自window.StreamingStation给了我this.create不是函数
<?php
$wpfp_before = "";
echo "<div class='wpfp-span'>";
if (!empty($user)) {
if (wpfp_is_user_favlist_public($user)) {
$wpfp_before = "$user's Favorite Posts.";
} else {
$wpfp_before = "$user's list is not public.";
}
}
if ($wpfp_before):
echo '<div class="wpfp-page-before">'.$wpfp_before.'</div>';
endif;
if ($favorite_post_ids) {
$favorite_post_ids = array_reverse($favorite_post_ids);
$post_per_page = wpfp_get_option("post_per_page");
$page = intval(get_query_var('paged'));
$qry = array('post__in' => $favorite_post_ids, 'posts_per_page'=> $post_per_page, 'orderby' => 'post__in', 'paged' => $page);
// custom post type support can easily be added with a line of code like below.
// $qry['post_type'] = array('post','page');
query_posts($qry);
echo "<div>";
while ( have_posts() ) : the_post();
echo "<div><a href='".get_permalink()."' title='". get_the_title() ."'>" . get_the_title() . "</a> " ;
wpfp_remove_favorite_link(get_the_ID()) . the_post_thumbnail('medium' );
echo "</div>";
endwhile;
echo "</div>";
echo '<div class="navigation">';
if(function_exists('wp_pagenavi')) { wp_pagenavi(); } else { ?>
<div class="alignleft"><?php next_posts_link( __( '← Previous Entries', 'buddypress' ) ) ?></div>
<div class="alignright"><?php previous_posts_link( __( 'Next Entries →', 'buddypress' ) ) ?></div>
<?php }
echo '</div>';
wp_reset_query();
} else {
$wpfp_options = wpfp_get_options();
echo "<ul><li>";
echo $wpfp_options['favorites_empty'];
echo "</li></ul>";
}
echo '<p>'.wpfp_clear_list_link().'</p>';
echo "</div>";
wpfp_cookie_warning();
提前谢谢你们
答案 0 :(得分:0)
问题似乎出现在您在activateAutoDj
方法中声明的事件处理函数中:
$('input[data-id]').on 'switchChange.bootstrapSwitch', (event, state) ->
由于您使用的是瘦/粗箭头,因此事件处理程序的this
上下文不会是this
实例的AutoDj
上下文;事实上,无论来电者决定它是什么,在这种情况下,如果我没有弄错的话,它将成为发起事件的对象。
解决此问题的一种方法是强制事件处理函数使用fat / hashrocket(this
)箭头绑定到=>
上下文。
或者,正如您所指出的那样,或者使用闭包来保留父函数的this
上下文。正如您所指出的,您只需执行以下操作:
cls = @ # preserving the `this` context
$('input[data-id]').on 'switchChange.bootstrapSwitch', (event, state) ->
cls.create()
# rest of function