如何将下划线模块添加到MeanJS?

时间:2016-08-02 07:03:26

标签: javascript angularjs underscore.js meanjs

好的,首先我从凉亭安装这个:

bower install angular-underscore-module

然后在modules / core / clients / app / config.js中,在第7行我添加了注入:

  var applicationModuleVendorDependencies = ['ngResource', 'ngAnimate', 'ngMessages', 'ui.router', 'ui.bootstrap', 'ui.utils', 'angularFileUpload', 'underscore'];

将它注入我的控制器,在modules / articles / client / controllers / articles.client.controller.js中 我已经添加了这样的内容:

angular.module('articles').controller('ArticlesController', ['$scope', '$stateParams', '$location', 'Authentication', 'Articles', '_',
  function ($scope, $stateParams, $location, Authentication, Articles, _) {

然后,我有这个错误:

angular.js:13920 Error: [$injector:undef] Provider '_' must return a value from $get factory method.

然后在这篇文章中: Provider 'xx' must return a value from $get factory method in AngularJs

它说,我应该在返回前插入{而不是在下一行,但是,我找不到返回。我在这里做错了吗?请建议。感谢。

2 个答案:

答案 0 :(得分:1)

下划线将自身附加到窗口对象。您不需要在控制器中包含依赖项。但是如果你还想使用' _'你可以这样做:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_OK) {
            switch (requestCode) {
                case Common.Action_Gallery:
                    if (data != null) {
                        Uri selectedImage = data.getData();
                        String[] filePathColumn = {MediaStore.Images.Media.DATA};
                        Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
                        cursor.moveToFirst();
                        int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
                        String picturePath = cursor.getString(columnIndex);
                        cursor.close();                           
                    }
                    break;   
            }
        }
}

然后你可以包括' _'作为控制器中的依赖项。

答案 1 :(得分:0)

发现它!

在你的config / assets / default.js,client.lib.js中,你必须包括underscore.min.js和angular-underscore-module.js作为下面的代码:

[...]
    'public/lib/underscore/underscore-min.js',
    'public/lib/angular-underscore-module/angular-underscore-module.js',
[...]