我最终把这个指令放在一起:
angular.module('myApp.directives', []). directive('applyJqMobile', function() { return function($scope, el) { setTimeout(function(){$scope.$on('$viewContentLoaded', el.trigger("create"))},1); } });然后在每个模板内部,将模板内容包装在div中,并在其中应用指令,即:
<div ng-controller="MyController" apply-jq-mobile><!-- Template Content to be jQ Mobilezed --></div>
这可以工作,但是由于setTimeout的原因,内容在加载时会闪烁一秒钟。我仍在研究如何摆脱闪光灯。
需要注意的是, 如果没有 设置setTimeout,就不会设置data-role =“ listview”的样式(我猜是因为它仍必须由ng-
repeat填充),但是视图 中 的所有静态内容都已设置样式。



