1

我正在为 AngularJS 应用程序构建一个搜索表单。我希望用户能够创建一个代表他们当前搜索参数的持久书签。

谷歌航班在这方面做得很好。每当您更改其中一个搜索输入时,都会更新 URL。

注意:我想看看这是否可以在不使用 ngRoute 模块的情况下完成。

我将所有搜索参数数据封装在一个SearchParametersService. 并且可以轻松地创建一个函数来序列化/反序列化我的模型到/从 url,但我想知道这个逻辑应该存在于 AngularJS 应用程序中的什么地方?

我应该创建一个指令吗?如果是这样,我应该把它附加到身体标签上吗?还是应该去别的地方?

如果它有帮助,这是SearchParametersService我正在使用的。

app.factory("SearchParametersService", function (SearchOptions) {
    return {
        searchType: _.first(SearchOptions.searchTypes),
        cabinClass: _.first(SearchOptions.cabinClasses),
        fareTypes: _.filter(SearchOptions.fareTypes, function (option) {
            return ~_.indexOf(["NEG", "PUB"], option.value);
        }),
        numberOfStops: 1,
        adults: 1,
        children: 0,
        outboundOrigin: null,
        outboundDestination: null,
        outboundDate: null,
        inboundOrigin: null,
        inboundDestination: null,
        inboundDate: null,
        carriers: []
    };
})
4

0 回答 0