Ответ 1
в теге label (метка) ваше событие click не будет работать, потому что метка переопределяет нажатие кнопки.
используйте DIV вместо метки, который будет работать нормально.
Что мой код:
<label class="item item-input " style="height: 10%" ng-click="publish()">
<input type="text" placeholder="Title" ng-model="title">
<i ng-click="publishBlog()" class="button button-clear icon ion-paper-airplane padding-right"></i>
</label>
"publish()" может быть запущен, но не "publishBlog()". Ионный будет помещать значок в. Ионная причина?
в теге label (метка) ваше событие click не будет работать, потому что метка переопределяет нажатие кнопки.
используйте DIV вместо метки, который будет работать нормально.
Как Hardy, вам нужно использовать div
вместо label
. Но вам нужно будет использовать $event.stopPropagation();
, чтобы удостовериться, что вызван только publishBlog()
. Без $event.stopPropagation();
обе функции будут вызваны.
Итак, здесь пример реализации:
<ion-content class="padding" ng-controller="my">
<div class="item item-input " style="height: 10%" ng-click="publish($event)">
<input type="text" placeholder="Title" ng-model="title">
<i ng-click="publishBlog($event)" class="button button-clear icon ion-paper-airplane padding-right"></i>
</div>
</ion-content>
И ваш контроллер:
.controller("my", function($scope){
$scope.publish = function($event) {
alert("title");
};
$scope.publishBlog = function ($event) {
$event.stopPropagation();
alert("icon");
};
});
Вот демо: http://play.ionic.io/app/1b82ce25ca44