There are multiple ways through which you can pass data from your routes to views. We will explore them all.
-  Attaching data to view
You can bind your data directly to your view file and while returning the view from the routes.
Route::get('/', function(){
   return view('welcome',['name'=>'World','age'=>3]); 
}); With this above route, variable name and age are now directly available to your in your view file and you can echo / print the variable with something like
<h1>Hello {{$name}}</h1> -  Attaching data using with method
You can bind data to view using with keyword. This works exactly similar to the previous way of attaching the data.
Route::get('/', function(){
   return view('welcome')->with('name','World'); 
}); -  Using compact method
Laravel has provided a compact method which looks more systematic and can be used like below.
//Welcome view
Route::get('/', function(){
    $name = 'World';
    return view('welcome',compact('name')); 
});
//Data View
Route::get('/data', function(){
    $name = 'World';
    $age = '28';
    return view('data',compact('name','age')); 
});
//Sending as List
Route::get('/listdata', function(){
    $tasks = [
        'Write Code',
        'Unit Test',
        'Deliver'  
    ];
    return view('listdata',compact('tasks')); 
});