我刚刚通过实现引导示例开始使用 Onsen UI,并且我一直在尝试在更改页面属性时更新视图。
<body ng-controller="PageLoadingCtrl">
<ons-screen page="{{loadedPage}}"></ons-screen>
</body>
我的控制器的代码:
app.controller('PageLoadingCtrl', ['$scope', '$timeout', 'notificationService',
function($scope, $timeout, sharedService){
$scope.loadedPage = "index.html";
$scope.updatePage = function(page){
$timeout( function (){
$scope.loadedPage = page;
$scope.$apply();
}, 500);
};
$scope.$on('changePage', function (event, message){
$scope.updatePage(message);
});
}
]);
如您所见,我在 body 对象上使用了一个控制器,以便我可以更新loadedPage 变量,但是,当我触发changePage 事件时,视图不会改变。在使用 web 检查器检查 DOM 元素后,我可以看到 page 属性等于我传递给 updatePage 函数的任何内容。
到目前为止,我尝试使用 $apply 和 $digest 强制刷新,但这仍然不起作用。
干杯!