1

I am trying to fix the following error from a component, but it's still failing. The error is the following:

[Vue warn]: Unknown custom element: - did you register the component correctly? For recursive components, make sure to provide the "name" option.

In my password component, following script, I have the following:

<template>
    <div class="form-group form-material floating" data-plugin="formMaterial">
        <input id="password" type="password" class="form-control" name='password'>
        <label class="floating-label">Create password</label>

        <span class="password-info"><i class="fa fa-info-circle"></i></span>
        <div class="password-rules">minimum 6 characters</div>

        <span v-if="this.error != null" :class="['invalid-feedback', {'inline': this.error != null}]">
             <strong>{{ error }}</strong>
        </span>
    </div>

</template>

<script>
    import Password from 'password-strength-meter'

    export default{
        props: ['error'],

        mounted: function(){
            const $password = $('#password', this.$el);

            $password.password({
                showText: false,
                animate: true,
            });
        }
    }
</script>

<style lang="scss">
    @import '~password-strength-meter/dist/password.min.css';

</style>

The problem is that the vue component is not loading when the page opens, and the error disappears on refresh.

In laravel blade, I am using it in the following way:

<password-input @if($errors->has('password')) :error="'{{$errors->first('password')}}'" @endif></password-input>

In the app.js

I have following script

new Vue({
    el: '#app'
});

Can someone guide me on how I fix it? I would appreciate if someone could guide me about this issue. I have seen this question but it does not resolved my problem.

9
  • It seem like your component doesn't have the name attribute: name: "password-input", after or before your props Commented Feb 13, 2019 at 14:44
  • Is that assuming you have imported this password-input component from the parent component? Commented Feb 13, 2019 at 14:49
  • @jom I don't get your point, can you kindly explain it please. Sorry for that Commented Feb 13, 2019 at 14:50
  • Possible duplicate of "Unknown custom element" warning inside a component tag, but not outside of it Commented Feb 13, 2019 at 15:15
  • @thanksd can you look this question Commented Feb 13, 2019 at 15:17

2 Answers 2

1

Was the component registered, usually when you create your Vue instance in app.js file.

const app = new Vue({
    el: '#app',
    components: { ExampleComponent } // Note!!!
});

You can find more information here: https://laracasts.com/discuss/channels/vue/little-help-with-laravel-and-vue-components-registration

Sign up to request clarification or add additional context in comments.

2 Comments

What will be in { ExampleComponent } ?
@ImranAbbas You will import the password-input component into this parent, and place it in place of this ExampleComponent.
0

Hey did you ever get to the bottom of this? I have been struggling all day with the same thing. The intermittent part has been killing my productivity lol. Anyway. Like you I was using ="this.myVar" in the <template> section instead of ="myVar" and when I changed that the issue hasn't been occurring since.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.