我的模板看起来像

<div data-ng-if="budgetSummaryExists()">
        <span>You have not budget</span>
        <button type="button" class="btn btn-danger"
                data-ng-click="setRoute('budgets')">Create
            Budget
        </button>
    </div>
    <div data-ng-if="$scope.budgetSummaryExists">
        <span>your budget summary exists</span>
    </div>

我的控制器看起来像

function BudgetSummaryController($scope, $location, BudgetSummary) {
    /* For default view when budgets is clicked */
    $scope.thisMonthBudgetSummary = function () {
        console.log('retrieving budget summary');

        var date = new Date();
        BudgetSummary.get({'month': date.getMonth() + 1, 'year': date.getFullYear()},
            function (data) {
                $scope.budgetSummary = data;

                // success
                console.log('budgetSummary:', data);
            },
            function (error) {
                //error
                console.log('error:', error.status);
            })

        ;
    };

    $scope.budgetSummaryExists = function () {
        return $scope.budgetSummary !== undefined;
    }

问题
-甚至在服务返回数据之前, budgetSummaryExists()计算结果就为false,并且我看不到DOM的其他部分

如何确保函数budgetSummaryExists()仅在服务完成从服务器获取数据时评估?

===============>>#1 票数:0

我的模板错误,此问题已解决

    <div data-ng-if="! budgetSummaryExists()">
        <span>You have not budget</span>
        <button type="button" class="btn btn-danger"
                data-ng-click="setRoute('budgets')">Create
            Budget
        </button>
    </div>
    <div data-ng-if="budgetSummaryExists()">
        <span>your budget summary exists</span>
    </div>

  ask by daydreamer translate from so

未解决问题?本站智能推荐:

7回复

如何在AngularJS中异步填充$ scope变量?

我有以下服务: app.service('Library', ['$http', function($http) { this.fonts = []; this.families = []; // ... some common CRUD functions her
1回复

如何绑定到AngularJS中的函数结果

我有一系列要跨多个控制器跟踪的项目。 因此,为此,我提供了服务。 该服务目前是基本的,只需将项目添加到数组中即可获得计数: 在我的控制器中,我有一个调用addItem函数的按钮,它工作正常,但是我不知道如何绑定getItemCount,以便每次添加项目时视图都会自动更新 在
2回复

如何通过服务用值填充变量(AngularJS)

调用服务后,我的变量没有值。 我将成功函数定义为单独的函数,并在.then()方法中将其调用,这是代码: 我不明白为什么调用成功函数后successData变量为空。 这有点令人困惑...有没有人解决这个问题?
1回复

AngularJS选择与ng-options调用函数吗?

这是我的html 和代码 这导致呈现一个空的选择。 我将$ scope.Selects替换为数组而不是调用函数,但是随后填充了select。 为什么ng-options无法与函数一起使用? 我的选择标签有什么问题吗?
1回复

AngularJS哲学 - 控制器作为服务的“窗口”

对不起,标题含糊不清; 我一直在重构我的一些AngularJS代码,试图更加“Angular”,并且我注意到这种模式突然出现了: 基本上,控制器主要是为范围提供服务的引用,因此视图可以使用它,例如 因此,我有多个控制器除了依赖某些共享数据或服务之外什么都不做,并且用于引用通
2回复

AngularJS将服务数组变量绑定到控制器范围

我已经能够将来自服务的原始数据的对象正确地绑定到来自控制器的范围变量,但是我在使用服务中的数组变量做同样的事情时遇到了麻烦。 service.js controllers.js 的index.html 我有一个登录函数,在成功传递userId时调用initMySet
3回复

AngularJS,这种使用服务的方式好吗?

我有这个HTML: 控制器是: 该服务工作正常,所以我不粘贴代码...在这种情况下,结果是“ Hello world! ”我以这种方式更改了HTML: 但这不起作用。 我改变了控制器: 然后是HTML 这有效! 所以我的问题是: 这是直接
2回复

AngularJS:如何与其他控制器共享范围函数和变量

我的应用程序中有多个控制器,我有一些重复的代码,如: 在AngularJS中共享这些范围函数和变量的推荐方法是什么? 使用控制器继承?
2回复

在AngularJS中将字符串转换为函数

我试图将字符串转换为控制器中的AngularJS服务方法调用。 例如,我想转换字符串“Contact.send(email)”来调用现有的服务方法。 我想用: window["Contact"]["send"](email); 就像在这个线程中一样 - 当我把它的名字作为一个字符
1回复

AngularJS是否可以使用通过html范围直接注入的服务?

我有这个指令: 我有指令的HTML模板: 上面的工作正常,但是请注意,在指令JS文件中,我已将服务附加到范围: $scope.ConfirmationModal = ConfirmationModal; 。 我的问题是,是否可以在没有附件的情况下提供该服务?