Skip to content

Commit 8454038

Browse files
authored
Merge pull request vuejs#100 from Alex-Sokolov/master
Новые правки
2 parents 25b9633 + 02bba2c commit 8454038

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

src/v2/api/index.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -442,15 +442,17 @@ type: api
442442

443443
### computed
444444

445-
- **Тип:** `{ [key: string]: Function | { get: Function, set: Function } }`
445+
- **Тип:** `{ [key: string]: Function | { get: Function, set: Function, cache: Boolean } }`
446446

447447
- **Подробности:**
448448

449449
Вычисляемые свойства, которые будут подмешаны к инстансу Vue. В геттерах и сеттерах `this` будет указывать на инстанс Vue.
450450

451451
<p class="tip">Обратите внимание, что __вам не стоит использовать стрелочные функции при определении вычисляемых свойств__ (напр. `aDouble: () => this.a * 2`). Поскольку стрелочные функции связываются с родительским контекстом, `this` не будет указывать на инстанс Vue, и `this.a` окажется неопределённым.</p>
452452

453-
Вычисляемые свойства кешируются и повторно вычисляются только при изменении реактивных зависимостей.
453+
Вычисляемые свойства кешируются и повторно вычисляются только при изменении реактивных зависимостей. Обратите внимание, что если определённая зависимость выходит за область видимости экземпляра (т.е не реактивная), то вычисляемое свойство не будет обновляться. В этой ситуации кеширование можно отключить с помощью опции `cache: false`. Тем не менее, так как зависимость не реактивная, её изменение не будет вызывать обновление DOM.
454+
455+
В большинстве ситуаций `cache: false` не станет идеальным решением. По возможности лучше переносить внешние данные в систему реактивности. Например, если вычисляемое свойство зависит от размера окна, вы можете хранить эту информацию в `data`, а затем использовать событие `resize` чтобы поддерживать значение актуальным. Теперь данные реактивны!
454456

455457
- **Пример:**
456458

themes/vue/source/js/common.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,13 @@
4444
}
4545

4646
function initLocationHashFuzzyMatching () {
47-
var hash;
47+
var rawHash = window.location.hash;
48+
if (!rawHash) return
4849
try {
49-
hash = escapeCharacters(decodeURIComponent(window.location.hash))
50+
hash = escapeCharacters(decodeURIComponent(rawHash))
5051
} catch(e) {
51-
hash = escapeCharacters(window.location.hash)
52+
hash = escapeCharacters(rawHash)
5253
}
53-
if (!hash) return
5454
var hashTarget = document.getElementById(hash)
5555
if (!hashTarget) {
5656
var normalizedHash = normalizeHash(hash)

0 commit comments

Comments
 (0)