Это пятый день моего участия в августовском испытании обновлений, подробности о мероприятии: Испытание августовского обновления
Обобщить некоторые знания, связанные с мини-программами WeChat, организовать заметки и поделиться с вами, некоторые знания часто будут спрашивать во время фронт-интервью, поэтому сделайте запись, я надеюсь, что это будет полезно для всех, если у вас есть какие-либо вопросы, можно отметить, будут положительные исправления.
Если вам это нравится, вы можете поставить лайк или оставить сообщение, и я продолжу обновлять вопросы интервью~~~~, спасибо~~~
1. Кратко опишите соответствующие типы файлов мини-программ WeChat?
В структуре проекта апплета WeChat есть четыре основных типа файлов.
- WXML(WeiXin Markup Language) — это набор языков разметки, разработанный фреймворком.В сочетании с базовыми компонентами и системой событий можно построить структуру страницы. Интерьер в основном представляет собой набор компонентов, определяемых самим WeChat.
- WXSS(таблицы стилей WeiXin) — это язык стилей для описания стилей компонентов в WXML.
- jsЛогическая обработка, сетевые запросы
- jsonНастройки мини-программы, такие как регистрация страницы, заголовок страницы и панель вкладок
основной файл
- app.jsonДолжен иметь этот файл, если его нет, проект не может быть запущен, потому что микро-канал кадров это как запись файла конфигурации, весь апплет глобальной конфигурации. Включая страницу регистрации, сетевые настройки и цвет фона окна апплета, настройте стиль панели навигации, настройте заголовок по умолчанию
- app.jsДолжен быть этот файл, об ошибке не будет сообщено! Однако этот файл создает что-то еще, мы можем прослушивать этот файл и обрабатывать функцию жизненного цикла апплета и объявлять глобальные переменные.
- app.wxssнеобязательный
2. Чем отличается двусторонняя привязка апплета и vue?
Свойства апплета непосредственно this.data не могут быть синхронизированы с представлением и должны вызываться:
this.setData({
// 这里设置
})
3. Какие существуют способы передачи данных между страницами мини-программы?
Передача данных с использованием глобальных переменных
Определите глобальную переменную globalData в файле app.js и сохраните информацию, которая будет храниться в ней.
// app.js
App({
// 全局变量
globalData: {
userInfo: null
}
})
При использовании напрямую используйте getApp() для получения сохраненной информации.
При использовании wx.navigateTo и wx.redirectTo вы можете поместить некоторые данные в URL-адрес и инициализировать их, когда новая страница загружается.
// Navigate
wx.navigateTo({
url: '../pageD/pageD?name=raymond&gender=male',
})
// Redirect
wx.redirectTo({
url: '../pageD/pageD?name=raymond&gender=male',
})
// pageB.js
...
Page({
onLoad: function(option){
console.log(option.name + 'is' + option.gender)
this.setData({
option: option
})
}
})
Проблемы, о которых следует знать: wx.navigateTo и wx.redirectTo не позволяют переходить на страницы, содержащиеся во вкладках.
onLoad выполняется только один раз
使用本地缓存 Storage 相关
4. Функция жизненного цикла апплета
- onLoad Срабатывает при загрузке страницы. Страница будет вызываться только один раз, вы можете получить параметры в пути для открытия текущей страницы в параметрах onLoad
- onShow() Запускается, когда страница отображается/переключается на передний план
- onReady() Запускается, когда первоначальный рендеринг страницы завершен. Страница будет вызвана только один раз, что означает, что страница готова к взаимодействию со слоем представления.
- onHide() Срабатывает, когда страница скрывается/переходит в фоновый режим. Например, navigationTo или нижняя вкладка переключаются на другие страницы, а апплет переключается на фон и т. д.
- onUnload() Запускается, когда страница выгружается. например, перенаправить на или перейти обратно на другие страницы.
5. Преимущества и недостатки мини-программ WeChat
Преимущество
- Просто используйте и работайте, без установки, экономьте трафик, экономьте время установки и не занимайте рабочий стол
- Опора на трафик WeChat, естественное продвижение и коммуникативные преимущества
- Стоимость разработки ниже, чем приложение
недостаток
- Удержание пользователей, мгновенное использование является преимуществом, но есть и некоторые проблемы.
- Вход гораздо глубже, чем в традиционных приложениях
- Ограничений много, размер страницы не может превышать 2M. Невозможно открыть страницы с более чем 10 уровнями
6.Как реализовать pull-to-refresh
Сначала настройте enablePullDownRefresh в окне глобальной конфигурации.
Определите функцию ловушки onPullDownRefresh на странице.После достижения условия обновления раскрывающегося списка выполняется функция ловушки и инициируется метод запроса.
После возврата запроса вызовите wx.stopPullDownRefresh, чтобы остановить выпадающее обновление.
7. В чем разница между bindtap и catchtap?
Та же точка: Во-первых, все они используются как функции события клика, которые срабатывают при клике. В этой роли они одинаковы, и не надо различать
разница: Основное различие между ними в том, что bindtap не будет предотвращать всплытие событий, а catchtap — сопротивление всплыванию.
8. Кратко опишите разницу между wx.navigateTo(), wx.redirectTo(), wx.switchTab(), wx.navigateBack(), wx.reLaunch()?
wx.navigateTo(): сохранить текущую страницу и перейти на страницу в приложении. Но не могу перейти на страницу вкладок
wx.redirectTo(): закрыть текущую страницу и перейти на новую страницу (аналогично перенаправлению). Но не разрешено переходить на страницу вкладки
wx.switchTab(): переход на страницу tabBar и закрытие всех остальных страниц без tabBar.
wx.navigateBack(): закрыть текущую страницу и вернуться на предыдущую страницу или многоуровневую страницу. Вы можете получить текущий стек страниц через getCurrentPages() и решить, сколько слоев нужно вернуть.
wx.reLaunch(): закрыть все страницы и открыть страницу в приложении.
9,Процесс входа?
Процесс входа в систему заключается в вызове wx.login для получения кода и передачи его на фоновый сервер для получения уникального идентификатора пользователя WeChat openid и сессионного ключа (session_key) для этого входа в систему и т. д.). После получения сессионного ключа (session_key), возвращенного сервером разработчика, клиентскому интерфейсу необходимо сохранить wx.setStorageSync('sessionKey', 'value')
Постоянный статус входа в систему: информация о сеансе хранится в файлах cookie и возвращается на сервер в виде заголовков запросов и помещается в заголовок wx.request в request.js.
10.Общие команды
wx: для, wx: если
Другие связанные сводные статьи