Вот мой полный код,
<div data-ng-repeat="cont in contacts | filter: searchText">
<h4 class="contacts" style="border-bottom: none;">{{cont._id}}</h4>
<ul>
<li data-ng-repeat="c in cont.subgroup" class="contacts">
<div class="contact_person">
<img ng-src="https://127.0.0.1/uploads/pp/{{c.empic}}" onerror="this.src='https://hive.robi.com.bd/uploads/logo.png'" />
<div class="contact_info info">
<p class="contInfo">{{c.name}}</p>
<p class="contInfo">{{c.contact}}</p>
<p class="contInfo">{{c.email}}</p>
</div>
</div>
<div class="call">
<a onclick="window.open('tel:+{{c.contact}}')"><img src="img/call.png" id="callImg"></a>
</div>
</li>
</ul>
</div>
В <a onclick="window.open('tel:+{{c.contact}}')"><img src="img/call.png" id="callImg"></a>
он открывает новую вкладку и звонки говорят: + {{c.contact}}, но почему {{c.contact}} не получает значение, например, номер телефона?
NB Я попробовал
ng-click, ng-href, href
ничего не работает.
Я сказал, что попробовал ng-href, ng-click
в моем вопросе. Да, ng-href
верен, но я обнаружил, что проблема была чем-то другим.
В моем контроллере был фрагмент кода
.config(function($provide, $stateProvider, $urlRouterProvider, $httpProvider, $ionicConfigProvider, $compileProvider) {
$compileProvider.aHrefSanitizationWhitelist(/^\s*(http?|ftp|mailto|file|tel|ghttps?|ms-appx|x-wmapp0):/);
....
....
// more codes
}
В $compileProvider
я обнаружил, что |tel|
не было, поэтому после добавления этого вопроса проблема исправлена.
Вы должны использовать ng-click
. не onclick
, использовать угловой {{}}
синтаксис... :-)
То есть:
<a ng-click="window.open('tel:'{{c.contact}})">...</a>
Или, еще лучше (как из ответа @Martin), ng-href
:
<a ng-href="tel:{{c.contact}}">...</a>
Нажмите " Выполнить фрагмент кода" ниже, чтобы увидеть рабочий пример.
Почему бы просто не использовать ng-href
?
function ContactController() {
this.contact = "+1-312-555-0963";
}
angular.module('app', []).controller('ContactController', ContactController);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ContactController as c">
<a ng-href="tel:{{c.contact}}">
<img src="img/call.png" alt="Dial {{c.contact}}" />
</a>
</div>
Браузер вашего мобильного устройства увидит, что протокол ссылки - tel:
и откройте приложение дозвона с предоставленным номером телефона.
ng-repeat
? Пожалуйста, предоставьте нам больше информации относительно этого фрагмента HTML.