Глобальные функции в ReactJS говорят мне «не функция» [дубликат]

Вот решение XAML. Просто добавьте этот стиль в свою кнопку. Это приведет к тому, что контекстное меню будет открыто как с левого, так и с правого щелчка. Наслаждайтесь!

<Button Content="Open Context Menu">
    <Button.Style>
        <Style TargetType="{x:Type Button}">
            <Style.Triggers>
                <EventTrigger RoutedEvent="Click">
                    <EventTrigger.Actions>
                        <BeginStoryboard>
                            <Storyboard>
                                <BooleanAnimationUsingKeyFrames Storyboard.TargetProperty="ContextMenu.IsOpen">
                                    <DiscreteBooleanKeyFrame KeyTime="0:0:0" Value="True"/>
                                </BooleanAnimationUsingKeyFrames>
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger.Actions>
                </EventTrigger>
            </Style.Triggers>
            <Setter Property="ContextMenu">
                <Setter.Value>
                    <ContextMenu>
                        <MenuItem />
                        <MenuItem />
                    </ContextMenu>
                </Setter.Value>
            </Setter>
        </Style>
    </Button.Style>
</Button>
1
задан soldfor 18 March 2019 в 18:03
поделиться

2 ответа

Потому что внутри метода styleDate вы создаете новую переменную с тем же именем, что и день, и поэтому вы не можете получить доступ к методу дня. Используйте другое имя переменной, оно будет работать.

Напишите это так:

function styleDate(date) {
  var verifyDay = new Date(date[0]);
  var dayOfWeek = day(verifyDay.getDay()); //prints monday, tuesday, wednesday, etc
  var year = verifyDay.getFullYear(); // prints the year
  var month = month(verifyDay.getMonth());

  // here
  var new_day = verifyDay.getDate();
  var date = new_day + nth(verifyDay.getDate());
  return dayOfWeek + ", " + month + " " + date + " " + year;
}
0
ответ дан Mayank Shukla 18 March 2019 в 18:03
поделиться

Это потому, что ваша локальная переменная day в styleDate является теневым функцией, определенной за ее пределами. Переименуйте его в другое.

Если вы думаете, что он не должен быть затенен, потому что он определен после первого использования, JavaScript применяет подъем , который перемещает все объявления в начало функции, устанавливая их как неопределенные, пока они не будут установлены позже .

function styleDate(date) {
    ...
    var myDay = verifyDay.getDate(); 
    var date = myDay + nth(verifyDay.getDate());
    ...
0
ответ дан Juan Mendes 18 March 2019 в 18:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: