1

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

因此,在我的 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 视图模型中,我的保存代码看起来像这样(显示摘录);

    save = function () {
                isSaving(true);
                datacontext.saveChanges()
                    .then(goToEditView).fin(complete);

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

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

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

谢谢。

4

1 回答 1

0

Breeze.js 会自动同步并知道要搜索类别并在其查找列表中更新它。

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

于 2013-07-25T09:53:17.603 回答