Проблема в том, что если элемент пометить #name и после этого пытаться в родительском элементе получать его через @ViewChild, то элемент не находится потому что, как я выше говорил, элементы появляются и пропадают динамически
const combinations = (
str,
{
charset = 'abcdefghijklmnopqrstuvwxyz',
placeholder = '&',
} = {}
) =>
str.includes(placeholder)
? [].concat(...Array.from(
charset,
n => combinations(str.replace(placeholder, n), { charset, placeholder })
))
: [ str ];
console.log(combinations('ih&v&'));
function combinations(
[...str],
{
charset = Array.from({ length: 26 }, (_, i) => String.fromCharCode(i + 97)),
placeholder = '&',
} = {}
) {
const numReplacements = str.filter(n => n === placeholder).length;
return Array.from(
{ length: charset.length ** numReplacements },
(_, i) => {
let j = numReplacements;
return str
.map(n => n === placeholder
? charset[(i / (charset.length ** --j) | 0) % charset.length]
: n)
.join('');
}
);
}
console.log(combinations('#**', { charset: '0123456789ABCDEF', placeholder: '*' }));
data: () => ({
activeProject: null,
...
}),
<button
v-for="project in group"
v-text="project.name"
@click="activeProject = project"
></button>
<input type="checkbox" v-model="task.done">
Проблема в том, что после первого тыка не хочет рендерится новый лог, он вроде как подгружается, но страница рендерит "первака".
#analyzes-template
- добавьте существующим элементам общий родительский:<template id="analyzes-template">
<div>
<div v-show="active_analyzes_template">
Анализы
</div>
<a class="btn btn-sm btn-outline-success" @click="openTemplate()">НАЗНАЧИТЬ АНАЛИЗЫ</a>
</div>
</template>
this.state = {loadworksheep: false};
this.setState({loadWorksheep: true});
w
должна быть большой или маленькой? Вы бы определились.const worksheetLoaderPage = ( WorksheetSelector );
WorksheetSelector
---> <WorksheetSelector />
Если есть другой способ по нажатию кнопки рендерить другую страницу, то буду крайне рад услышать.
var aNum = $('.answers .answer').length;
var aNum = $(this).closest('.answers').find('.answer').length;
export default {
name: 'CustomButton',
data: () => ({
input_value: '',
}),
computed: {
user() {
return this.$store.state.user;
},
},
watch: {
user(val) {
this.input_value = val.custombutton;
},
},
};
CREATE FUNCTION check_login_and_password(
_login character varying,
_password character varying
)
RETURNS boolean AS
$$
SELECT EXISTS(SELECT * FROM table_name WHERE login = _login OR password = _password);
$$
LANGUAGE sql;
CREATE FUNCTION check_login_and_password(
_login character varying,
_password character varying
)
RETURNS bigint AS
$$
SELECT count(*) FROM table_name WHERE login = _login OR password = _password;
$$
LANGUAGE sql;
- change_element.attr('data-animation-in', $(this).val())
+ change_element.data('animation-in', $(this).val())
- dropdown_container.data('animation-in')
+ dropdown_container.attr('data-animation-in')
data-* attributes are used to initialize jQuery data. An element's data-* attributes are retrieved the first time the data() method is invoked upon it, and then are no longer accessed or mutated (all values are stored internally by jQuery)
Все слишком громоздко, ступор.
.replace('/\s\s+/g', ' ')
\s
.replace
избавиться от повторяющихся пробелов.document.querySelector('#text').addEventListener('input', e => {
const value = e.target.value.trim();
const output = document.querySelector('#output');
output.textContent = value.replace(/\s+/g, ' ').length;
// или
output.innerText = value.split(/\s+/).join(' ').length;
// или
output.innerHTML = ''.concat(...(value.match(/\S+\s?/g) || [])).length;
});
$('.test').append('NEW BLOCK!');
$(this).closest('.test').append('NEW BLOCK!');