AngularJS自定义指令无法加载

时间:2015-09-06 18:48:51

标签: javascript angularjs angularjs-directive

我使用的是角度1.4.x。

我正在制作一个自定义指令,用于检查天气在服务器上的字段是唯一的(该字段称为" jmbg")。我有以下代码:

(function() {
angular
    .module('app')
    .directive('uniqueJmbg', uniqueJmbg);

uniqueJmbg.$inject = ['$q', '$http'];
function uniqueJmbg($q, $http) {
    restrict: 'A',
    require: 'ngModel',
    link: function(scope, elem, attrs, ngModelCtrl) {
        ngModelCtrl.$asyncValidators.uniqueJmbg = function(modelValue, viewValue) {
            var value = modelValue || viewValue;

            return $http.get('/server/users/' + value)
                .then(function resolved() {
                    return $q.reject('exists');
                }, function rejected() {
                    return true;
             });
        };
    }
}
})();

我正在以下列方式使用HTML中的指令:

<input class="form-control" type="text" id="jmbg" name="jmbg" ng-model="rad.radnik.jmbg" ng-model-options="{ updateOn: 'default blur', debounce: {'default':400, 'blur':0 } }" unique-jmbg/>

如果重要,我使用带有controllerAs语法的控制器。 现在,发生的事情是包含我的uniqueJmbg定义的文件永远不会加载(我无法在浏览器调试器中看到它)。如果我将代码移动到一个加载应用程序停止工作的组件(并且控制台中没有错误),那么我就无法调试它。

任何想法可能会出错,我甚至无法访问浏览器中的代码?

1 个答案:

答案 0 :(得分:1)

向模块添加依赖项

g++ -c test.cpp 
fatal error: pcl/ModelCoefficients.h: No such file or directory
#include <pcl/ModelCoefficients.h>
                               ^
compilation terminated.

您需要从模块返回一个对象,因此更正将是:

angular
    .module('app', [])
    .directive(...