To get country list data, you need to create instance of Country collection model `Magento\Directory\Model\ResourceModel\Country\CollectionFactory`. Once instance is created, you can load it by current store.
<?php
namespace Knowthemage\Hello\Block;
use Magento\Framework\View\Element\Template\Context;
use Magento\Directory\Model\ResourceModel\Country\CollectionFactory;
class Country extends \Magento\Framework\View\Element\Template {
/**
* @var CollectionFactory
*/
protected $_countryCollectionFactory;
/**
* Country constructor.
* @param CollectionFactory $countryCollectionFactory
* @param Context $context
* @param array $data
*/
public function __construct(
CollectionFactory $countryCollectionFactory,
Context $context,
array $data = []
) {
parent::__construct($context, $data);
$this->_countryCollectionFactory = $countryCollectionFactory;
}
/**
* Get Country collection
*
* @return mixed
*/
public function getCountryCollection()
{
return $this->_countryCollectionFactory->create()->loadByStore();
}
}