Exemple #1
0
        public void WriterTo(JavascriptTextWriter writer)
        {
            // Opening an async closure to run script
            writer.WriteStartJsFunctionSignature(string.Empty);
            writer.WriteStartJsFunctionDefinition();
            writer.WriteStartJsFunctionSignature("function", "async");
            writer.WriteEndJsFunctionSignature();
            writer.WriteStartJsFunctionBlock();

            // Statements to register Vue Components
            foreach (var component in _components)
            {
                writer.WriteStartJsStatement();
                _serializer.Serialize(writer, component);
                writer.WriteEndJsStatement();
            }

            // Statement to create Vue Application
            writer.WriteStartJsVariableStatement(_name);
            writer.WriteStartJsFunctionDefinition();
            writer.WriteStartJsFunctionSignature("Vue", "new");
            _serializer.Serialize(writer, _options);
            writer.WriteEndJsFunctionSignature();
            writer.WriteEndJsFunctionDefinition();
            writer.WriteEndJsStatement();

            // Closing Async Closure and invoking
            writer.WriteEndJsFunctionBlock();
            writer.WriteEndJsFunctionDefinition();
            writer.WriteEndJsFunctionSignature();
            writer.WriteStartJsFunctionSignature(string.Empty);
            writer.WriteEndJsFunctionSignature();
        }