javascript - Angular UI 路由器依赖组件解析

标签 javascript angularjs angular-ui-router

在 UI Router 示例应用程序中,有一个示例,其中在下一个解析中使用一个解析对象。 https://github.com/ui-router/sample-app-ng1/blob/master/app/mymessages/mymessages.states.js#L76

resolve: {
    // Fetch the current folder from the Folders service, using the folderId parameter
    folder: (Folders, $stateParams) => Folders.get($stateParams.folderId),

    // The resolved folder object (from the resolve above) is injected into this resolve
    // The list of message for the folder are fetched from the Messages service
    messages: (Messages, folder) => Messages.byFolder(folder)
  }

我在 ES5 javascript 中尝试了以下代码,但出现错误:

"Cannot read property 'propertyName' of undefined"

resolve: {
 viewModel: ['viewModelService', function (viewModelService) {
        return viewModelService.get().then(function (response) {
            return response.data;
        });
    }],
    anotherViewModel: this.viewModel.propertyName
}

最佳答案

这应该有效:

resolve: {
    viewModel: ['viewModelService', function (viewModelService) {
            return viewModelService.get().then(function (response) {
                return response.data;
            });
        }
    ],
    anotherViewModel: ['viewModel', function (viewModel) {
            viewModel.propertyName
        }
    ]
}

关于javascript - Angular UI 路由器依赖组件解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40157788/

相关文章:

javascript - 如何使用 mvc 将 anchor 标记类 Id 传递给函数变量?

javascript - 如何使用 intel xdk 在 javascript 中实现区域/代码折叠?

javascript - 将 angularjs 应用程序从 Windows 移动到 Ubuntu

javascript - 使用指令的表单验证不起作用

java - 如何自定义验证失败返回的字段名称?

javascript - ui-sref - 没有 <a> 标签的新标签

angularjs - 对如何使用 angular ui-router(如 gmail)实现基于标签的应用程序感到困惑

javascript - 如何使用Jquery更改img标签的src

javascript - 如何从 Cloud Function 获取 Firebase 项目名称或 ID

angularjs - Angular ui 路由器中的 404 页面