Skip to content

Commit

Permalink
Merge pull request #19 from TrezorTop/main
Browse files Browse the repository at this point in the history
 Chapter_4__User_Interface_Composition_with_Components fixes
  • Loading branch information
altrusl authored Nov 19, 2023
2 parents d6481b2 + 80a1fba commit a2be9eb
Showing 1 changed file with 2 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -635,7 +635,7 @@ const
export default plugin
```
В строке **//1** мы начинаем с импорта конструктора **reactive** из Vue и компонента **Modal** , файл которого мы еще не создали. Затем, в строке **//2**, мы создаем внутреннее свойство состояния **\_current**, а в **//3** - объект, который будет нашим API. Пока что это лишь условные обозначения. Важный раздел находится в строке **//4**, где мы определяем функцию **install()**. Эта функция получает два параметра в следующем порядке:
В строке **//1** мы начинаем с импорта конструктора **reactive** из Vue и компонента **Modal**, файл которого мы еще не создали. Затем, в строке **//2**, мы создаем внутреннее свойство состояния **\_current**, а в **//3** - объект, который будет нашим API. Пока что это лишь условные обозначения. Важный раздел находится в строке **//4**, где мы определяем функцию **install()**. Эта функция получает два параметра в следующем порядке:
1. Экземпляр приложения (**App**).
2. Объект с опциями, если таковые были переданы в процессе установки.
Expand All @@ -648,14 +648,13 @@ export default plugin
```js
import { createApp } from 'vue'
import App from './App.vue'
import Modals from "./plugins/modals".
import Modals from "./plugins/modals"
createApp(App).use(Modals).mount('#app')
```
Как видите, создать и использовать плагин довольно просто. Однако пока что наш плагин делает не так уж много. Давайте вернемся к коду нашего плагина и доработаем API. Нам нужно следующее:
- Метод **show()**, который принимает имя, идентифицирующее реализацию модального диалога, и возвращает обещание. Затем мы сохраним это имя и ссылки на функции **resolve()** и **reject()** в нашем реактивном состоянии.
- Метод **show()**.
- Методы **accept()** и **cancel()** для разрешения и отклонения обещания, соответственно.
- Метод **active()** для получения имени текущего модала.
Expand Down

0 comments on commit a2be9eb

Please sign in to comment.