小编bit*_*wit的帖子

Angularjs通过字符串名称将提供者注入模块工厂函数以进行缩小

我有以下代码:

appModule = angular.module('appModule', []);

appModule.factory('sharedApplication', function($rootScope, $http) {
  var sharedApp;
  sharedApp = {};
  sharedApp.currentView = "home-section";
  sharedApp.pastEvents = null;
  $http.get('api/highlights').success(function(response) {
    return sharedApp.pastEvents = response.data;
  });
  return sharedApp;
});
Run Code Online (Sandbox Code Playgroud)

这段代码完美无缺,正如我所料,直到我尝试缩小我的javascript,然后我得到

    Error: Unknown provider: eProvider <- e
Run Code Online (Sandbox Code Playgroud)

这是因为我的工厂函数中的$ http参数已重命名为'e'以进行缩小.那么如何手动通知appModule按名称注入什么以避免缩小我的代码?

提前致谢.

javascript angularjs

20
推荐指数
1
解决办法
2万
查看次数

Python使用ctypes传递char*数组并填充结果

我正在尝试使用ctypes在python中创建一个char*数组,以传递给库以填充字符串.我期待4个字符串的长度不超过7个字符.

我的py代码看起来像这样

testlib.py

from ctypes import *
primesmile = CDLL("/primesmile/lib.so")

getAllNodeNames = primesmile.getAllNodeNames
getAllNodeNames.argtypes = [POINTER(c_char_p)]
results = (c_char_p * 4)(addressof(create_string_buffer(7)))
err = getAllNodeNames(results)
Run Code Online (Sandbox Code Playgroud)

lib.cpp

void getAllNodeNames(char **array){
    DSL_idArray nodes; //this object returns const char * when iterated over
    network.GetAllNodeIds(nodes);
    for(int i = 0; i < (nodes.NumItems()); i++){
    strcpy(array[i],nodes[i]);
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试运行此代码时,我不断收到分段错误.我已经从C创建了一个完美的测试,但在Python中,我必须正确地设置指针数组或其他东西.它似乎到达循环中的第二个节点,然后出现问题,因为我已经看到将数据吐出到命令行.任何见解都会非常感激.

c c++ python ctypes

9
推荐指数
1
解决办法
2万
查看次数

如何使用angular.js在DOM周围移动视图?

如何使用角度js将元素移动到DOM中的不同位置?

我有一个像这样的元素列表

<ul id="list" ng-controller="ListController">
    <li ng-controller="ItemController"><div>content</div></li>
    <li ng-controller="ItemController"><div>content</div></li>
    <li ng-controller="ItemController"><div>content</div></li>
    <li ng-controller="ItemController">
        <div>content</div>
        <div id="overlay"></div>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我想要完成的是将#overlay从一个地方移到另一个地方而不必在我标记为隐藏/未隐藏的每个项目中都有隐藏的副本.

如果这是jquery我可以做这样的事情:

$("#overlay").appendTo("#list li:first-child");
Run Code Online (Sandbox Code Playgroud)

是否有相同的方法来做角度?

javascript angularjs

4
推荐指数
1
解决办法
9273
查看次数

标签 统计

angularjs ×2

javascript ×2

c ×1

c++ ×1

ctypes ×1

python ×1