值更改时使用Breeze.js刷新SPA中的查找

值更改时使用Breeze.js刷新SPA中的查找,breeze,Breeze,我有一个记录交易的应用程序,用户可以从下拉列表中选择类别。 类别在应用程序启动时加载,因为它们“大部分”是静态的/很少会更改 因此,在我的datacontext.js中,我执行常规操作并初始化数据 var primeData = function () { var promise = Q.all([ getLookups(), getBankAccountPartials(null, true)]) .the

我有一个记录交易的应用程序,用户可以从下拉列表中选择类别。 类别在应用程序启动时加载,因为它们“大部分”是静态的/很少会更改

因此,在我的datacontext.js中,我执行常规操作并初始化数据

var primeData = function () {
        var promise = Q.all([
            getLookups(),
            getBankAccountPartials(null, true)])
            .then(applyValidators);

        return promise.then(success);

        function success() {
            datacontext.lookups = {
                categories: getLocal('Categories', 'name', true),
                transactiontypes: getLocal('TransactionTypes', 'name', true),
                payees: getLocal('Payees', 'name', true)
            };
            log('Primed data', datacontext.lookups);
        }

        function applyValidators() {
            model.applyBankAccountValidators(manager.metadataStore);
        }

    };

function getLookups() {
            return EntityQuery.from('Lookups')
                .using(manager).execute()
                .then(processLookups)
                .fail(queryFailed);
        }
现在,偶尔在管理员屏幕中,用户可以编辑和添加类别。 在categoryadd.js视图模型中,我的保存代码如下所示(显示摘录)

如何仅刷新类别查找数据?或者,我只是做错了,也许不应该将类别作为查找


谢谢。

Breeze.js会自动同步,并知道如何搜索类别并在其查找列表中进行更新


在执行保存后,我通过从浏览器控制台调用datacontext.lookups并检查显示类别名称已刷新的对象来检查这一点。

Ok从我的进一步调查来看,Breeze.js似乎令人惊讶,它正在自动同步,并且知道搜索类别并在其当前位置更新它查找列表。在执行保存后,我通过从浏览器控制台调用datacontext.lookups并检查对象(它向我显示类别名称已刷新)来检查这一点。我印象深刻。你还需要帮助吗?不,卡杜梅尔,我很好,谢谢。如果允许的话,我会将其标记为已回答。很酷,我建议删除该问题或提供答案(如果您强烈认为此问题/答案将在不久的将来再次出现,有时可以避免再次提问)
    save = function () {
                isSaving(true);
                datacontext.saveChanges()
                    .then(goToEditView).fin(complete);

                function goToEditView(result) {
                    router.replaceLocation('#/categorydetail/' + category().id());
                }

                function complete() {
                    isSaving(false);
                }
            },