Вы можете добавить дополнительную проверку, основанную на триангуляции башни ячеек или информации о точках доступа Wi-Fi, используя API геолокации Google Maps
Самый простой способ получить информацию о CellTowers
final TelephonyManager telephonyManager = (TelephonyManager) appContext.getSystemService(Context.TELEPHONY_SERVICE);
String networkOperator = telephonyManager.getNetworkOperator();
int mcc = Integer.parseInt(networkOperator.substring(0, 3));
int mnc = Integer.parseInt(networkOperator.substring(3));
String operatorName = telephonyManager.getNetworkOperatorName();
final GsmCellLocation cellLocation = (GsmCellLocation) telephonyManager.getCellLocation();
int cid = cellLocation.getCid();
int lac = cellLocation.getLac();
Вы можете сравнить свои результаты с сайтом
. Чтобы получить информацию о точках доступа Wifi
final WifiManager mWifiManager = (WifiManager) appContext.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
if (mWifiManager != null && mWifiManager.getWifiState() == WifiManager.WIFI_STATE_ENABLED) {
// register WiFi scan results receiver
IntentFilter filter = new IntentFilter();
filter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
List results = mWifiManager.getScanResults();//<-result list
}
};
appContext.registerReceiver(broadcastReceiver, filter);
// start WiFi Scan
mWifiManager.startScan();
}
Моя проблема в том, что ссылка на Child1 отображается как на странице About, так и на странице Child1. Я просто хочу отобразить его на странице about
blockquote>Просто чтобы уточнить, что здесь происходит: ссылка на Child1 всегда видна в компоненте About, даже если дочерние маршруты активны, но вы этого не делаете хотите показать ссылку, когда активен дочерний маршрут.
Путь 1
Вы можете предоставить запасной контент для
<router-view>
, когда нет подходящего маршрута (то есть, когда дочерний маршрут не активен). Это была бы хорошая возможность показать ссылку.<template> <div class="about"> <h1>This is an about page</h1> <router-view> <router-link to="/child1">Child1</router-link> </router-view> </div> </template>
Способ 2
Приведенное выше решение может не сработать, если ваш шаблон более сложный и если вы хотите разместить ссылку в другом месте шаблона.
Таким образом, вам придется вручную контролировать видимость ссылки, используя
v-if
, чтобы она была видна только тогда, когда дочерний маршрут не активен.<template> <div class="about"> <h1>This is an about page</h1> <!-- Show only when no child routes are active --> <router-link v-if="$route.name === 'about'" to="/child1">Child1</router-link> <!-- Or, do not show when Child1 route is active --> <router-link v-if="$route.name !== 'child1'" to="/child1">Child1</router-link> <router-view></router-view> </div> </template>