【发布时间】:2014-12-18 08:03:34
【问题描述】:
我将angularjs和polymer一起使用,因为polymer没有足够的material design ui元素,而angularjs有一个material design project (https://material.angularjs.org)来实现material design系统。
HTML (ng-app="list"ng-controller="showTasks"):
<md-content class="md-padding">
<md-list>
<md-item ng-repeat="task in tasks">
<md-item-content>
<div class="md-tile-left">
<paper-icon-button icon="assignment"></paper-icon-button>
</div>
<div class="md-tile-content">
<h3>{{task.title}}</h3>
<h4><strong>Due: </strong>{{task.due}}</h4>
<p>
<strong>Subjects: </strong>{{task.subjects}}
</p>
</div>
<paper-ripple class="recenteringTouch" core-transitionend="" fit></paper-ripple>
</md-item-content>
</md-item>
</md-list>
</md-content>
脚本:
<script>
var app = angular.module('list', ['ngMaterial']);
app.controller('showTasks', ['$scope', '$http', function($scope, $http) {
$scope.tasks = [];
$http.post('/getAllTasks').success(function(response) {
if (response.ok == 1) {
$scope.tasks = response.result;
}
});
}]);
</script>
paper-ripple 元素有一个事件core-transitionend。通过设置属性core-transitioned={{event-handler}}并注册处理程序Polymer('element-name', {event-handler: function() {}}),可以在聚合物元素中使用它。
但是这里angularjs会解析{{}}语句,我不能注册paper-ripple因为已经注册了。
那么我怎样才能捕捉到这个事件呢?
【问题讨论】:
标签: javascript angularjs polymer dom-events