当用jQuerymobile的$.mobile.changePage这个方法时,它只加载下一页的data-role="page"的div,所以为了方便js需要写在一个文件里自己可以构架一下页面结构。上面说的是前提,但是在整合angular时遇到了,在首页初始化完的页面,在加载新的页面时不会把新页面的angular的变量赋值,页面会出现这样{{xxxx.xxx}}的情况。这时需要重新初始化一下页面的angular的Controller,
下边是代码:
//xxx是ng-controller所属标签的id
var scope = angular.element($('#xxx')).scope();
angular.element($('#xxx')).injector().
invoke(function($rootScope, $compile){
$compile($('#xxx'))(scope);
scope.$digest();
} );
这样就可以把刚刚新加载的页面的重新使用angular了。
这是用到了angular的注入,重新编译html元素。详情可以去angular官网查看