在Angular控制器上使用notify.js

时间:2016-11-23 11:46:32

标签: javascript jquery angularjs notify

我有一个控制器向Web服务发送参数,当我从Web服务获得响应时,我必须显示通知(这就是我使用notify.js的原因),但代码没有运行。我告诉你:

控制器:

$scope.alert = function(){
        console.log($scope.q + "/" + $scope.s.id + "/" + $scope.k.id);
        // http://localhost:8080/test/cftyu/q/q/" + q + k + s
        return $http.get('http://localhost:8080/test/cftyu/q/q/" + q + k + s)
        .success(function(data) {
            return data;
            console.log(data);
            $.notify("Hello World");
        })
        .error(function(data) {
            return data;
            console.log(data);
        });
    };
    console.log("fin controlador");

我希望任何人都可以帮助我,我知道通知是用jquery调用而不是有角度我一直试图创建一个指令但是无论如何都没有工作。我将不胜感激。

编辑: 我一直在努力解决Dave Cooper提出的解决方案,但它不起作用:

我正在尝试你的解决方案,但它对我不起作用。我有这个控制器:

app.controller('CreateQuestionsController', ['$scope', '$log', '$http', '$window', 'sections', 'kind', 'order', 'notify',
                                       function($scope, $log, $http, 

    $window, sections, kind, order, notify) {
    $scope.alert = function(){
                return $http.get("http://localhost:8080/test/cftyu/q/q/" + q + k + s)
                .success(function(data) {
                    console.log(data);
                    notify("Hello World");
                    return data;
                })
                .error(function(data) {
                    console.log(data);
                    return data;
                });
            };
    }]);

编辑2:

查看:

<form class="form-horizontal">
    <div class="form-group">
        <label for="inputEmail3" class="col-sm-2 control-label">Pregunta</label>
        <div class="col-sm-10">
            <textarea class="form-control" rows="3" ng-model="question"></textarea>
        </div>
    </div>
    <div class="form-group">
        <div class="col-sm-offset-2 col-sm-3">
            <label>Clase</label>
            <select class="form-control" ng-options="kind as kind.name for kind in kinds track by kind.id" ng-model="kind"></select>
        </div>
    </div>
    <div class="form-group">
        <div class="col-sm-offset-2 col-sm-3">
            <label>Sección</label>
            <select class="form-control" ng-options="section as section.sectionname for section in sections track by section.id" ng-model="section"></select>
        </div>
    </div>
    <div class="form-group">
        <div class="col-sm-offset-2 col-sm-3">
            <button showNotify type="button" class="btn btn-default btn-lg" ng-click="alert()">Guardar</button>
        </div>
    </div>
</form>

我将所有js文件加载到&#39; main&#39;查看,在底部像这样:

    <!-- Modules -->
    <script src="js/app.js"></script>

    <!-- Controllers -->
    <script src="js/controlers/HomeController.js"></script>
    <script src="js/controlers/CreateQuestionsController.js"></script>
    <script src="js/controlers/ShowQuestionsController.js"></script>

    <!-- Services -->
    <script src="js/services/questions.js"></script>

    <!-- Directives -->
    <script src="js/directives/notify.js"></script>

控制器就像我之前发布的那样

编辑3:

有路由和控制器视图连接:

var app = angular.module('onBuy', ['ngRoute']); 

app.config(function ($routeProvider) {
    $routeProvider
        .when('/create/questions/', {
            controller: 'CreateQuestionsController',
            templateUrl: 'views/createQuestions.html'
        })
        .otherwise({
            redirectTo: '/'
        });
});

1 个答案:

答案 0 :(得分:3)

在显示通知之前,您已从成功和错误函数返回,因此您的某些代码无法访问(即您返回数据然后尝试记录并显示通知)。你可以在下面看到我的代码。我的意思是。

使用像Angular Notify这样的Angular服务可能更好。

以下是您的代码可能看起来的样子 - 假设您已将服务注入控制器(我已包含样本控制器):

#include <stdio.h>
#include <cs50.h>
#include <math.h>

int main (void) { 

    printf ("Enter amount: ");
    float amount = GetFloat();
    int coins = 0;

    while (amount != 0) {

        if (fmod(amount, 0.25) == 0) {
            amount = amount - 0.25;
            coins += 1;
        }

        else if (fmod(amount, 0.10) == 0) {
            amount = amount - 0.10;
            coins += 1;
        }

        else if (fmod(amount, 0.05) == 0) {
            amount = amount - 0.05;
            coins += 1;
        }

        else {
            amount = amount - 0.01;
            coins += 1;
        }
    }

    printf ("Coins : %d\n", coins);
}

希望有所帮助!

编辑:哦,你提供的代码中也有语法错误 - 我也修复了它!