【发布时间】:2017-04-14 20:50:15
【问题描述】:
我对 Ionic 和 JavaScript 完全陌生,在我的项目中更改视图时遇到了一些问题。
我已经使用选项卡启动器创建了项目,并且在使用默认选项卡移动甚至添加新选项卡时一切正常。在代码的某些部分,我需要移动到选项卡视图,所以我使用$state.go() 函数并且它工作正常。但是,我添加了一个带有模板、控制器和状态的新视图,我需要在单击按钮时加载它。所以我再次使用$state.go(),但资源管理器中的 URL 更改但视图没有更改,它保留在前一个中。当我在浏览器中键入 URL 时它也不起作用,所以问题可能出在状态定义中,但我很确定它没问题。
州
.state('tab.file_explorer', {
url: '/file_explorer',
views: {
'tab-file_explorer': {
templateUrl: 'templates/tab-file_explorer.html',
controller: 'file_explorerCtrl'
}
}
})
控制器
它位于按钮所在的另一个视图的控制器中(按钮工作正常,我已经测试过了)。 file_explorerCtrl 控制器目前为空。
.controller('load_csvCtrl', function($scope, $state) {
$scope.loadCsv = function(){
$state.go('tab.file_explorer');
}
}
这将重定向到 URL http://localhost:8100/#/tab/file_explorer,没有控制台输出或 404 错误。我也尝试过使用$location.path() 和$window.location.assign(),但它也无法加载模板。
我将不胜感激。
【问题讨论】:
-
在 $scope.loadCsv 中添加一个 console.log('inside loadcsv') 来检查它是否被触发。当你认为它可能会失败时,你可以使用其他部分的代码来跟踪它。
-
@Flakerim 是的,$scope.loadCsv 被解雇了。
-
@RalkaiShagtten 你解决了吗?我也遇到了同样的问题。
标签: javascript ionic-framework