javascript - 在 AngularJs 中创建 'widgets' 的建议方法是什么?

标签 javascript html angularjs web single-page-application

我想创建由小部件样式组件组成的页面,每个组件都从自己的后端数据源 (SignalR) 动态馈送。

我希望能够单独开发这些组件,并独立测试它们,然后通过将它们放入框架中来组合页面。

使用AngularJs,正确的做法是什么?

最佳答案

我会在它自己的模块上创建每个小部件,然后在主 AngularJS 应用程序上我会将这些模块作为依赖项注入(inject)。

类似这样的事情:

    // bundling a set of directives/widgets in a module. 
    // You can create a module for each widget though...
    (function(){
          var app = angular.module('myWidgets',[]);
          app.factory('serviceTwo',['$http',function($http){...my service code}]);
          app.directive('widgetOne',function(){...etc});
          app.directive('widgetTwo',['serviceTwo',function(serviceTwo){...}]);
    })();

然后在“消费者”应用程序上...

    (function(){
        var myConsumerApp = angular.module('myConsumerApp',['myWidgets']);
        etc...
     })();

然后您可以像在主应用程序中以任何其他方式执行的那样使用指令:

    <div ng-app="myConsumerApp">

       <widget-one></widget-one>
       <widget-two></widget-two> etc...

    </div>

这就是我的方法。

关于javascript - 在 AngularJs 中创建 'widgets' 的建议方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23934951/

相关文章:

javascript - Onsen-UI,如何写一个javascript,让ons-scroller保持在底部?

javascript - 查找具有特定 css 类的元素

html - 页面底部的正文背景和页脚

javascript - 停止刷新 token 的竞争条件?

javascript - 将 JavaScript 变量添加到模型中

javascript - Css 溢出隐藏所有内容。无法修改滚动条

javascript - 导航到新页面不会滚动到顶部

javascript - 以 Angular 绑定(bind)时,输入[数字]字段不显示字符串值

c# - 尝试从 MVC 中新打开的窗口返回上一个 View

JavaScript 在 object.create(baseObject) 之后无法访问相同的对象方法