我有一个state
需要做一些逻辑,然后它返回到模板,这花了我一段时间才弄清楚,但我终于学到了templateProvider
和想出了这个;angular-ui路由器 - 从templateProvider获取内容到html和控制器
.state('home.read', {
url: '/read/{id:u}',
templateProvider: ($stateParams:ng.ui.IStateParamsService, $http:ng.IHttpService, $settings:ISettings) => {
return $http({
url: String.format('{0}/api/articles/read/{1}', $settings.uri(), $stateParams['id']),
method: 'GET',
withCredentials: true
}).then((response) => {
return response.data;
});
}
})
从服务器获取我需要的数据并通过凭证等进行过滤;它确保我得到的是我需要的。
所以现在我很困惑 - 我怎么能得到这个控制器,并得到适当的.html
模板加载,所以我可以使用它?
该模板太复杂,不能作为字符串传递。我真的需要它作为一个静态HTML文件存在。我试图使用templateUrl
,但似乎没有工作。即使这样做,我仍然不清楚如何将数据传输到控制器 - 具体而言,因为我需要将其附加到$scope
。
templateUrl应该工作。控制台中是否有任何错误?你能上传plunkr吗? –
'templateUrl'可以让我进入HTML页面,但是我仍然不清楚如何将'templateProvider'的结果转换为HTML页面使用的任何控制器的'$ scope'上的有意义变量 – Ciel
'templateProvider '用于动态构建动态模板。它应该返回一个字符串格式化模板(HTML的字符串表示)。 如果你想**在页面加载之前解析**一些数据,那么你应该看看wiki中的'resolve'选项:https://github.com/angular-ui/ui-router/wiki –