我有一个使用此视图和控制器设计的模块。现在,我想将相同的视图和控制器移动到另一个模块...基本上想要将功能包含到另一个模块中。
现在,我为这个模块创建了一个新控制器,并在其中传递了“以前使用过的控制器名称”
$scope.includeViews =
[
{'title':'Info', url: appdata.baseurl +'/app/partials/profile/info.html', controller : 'infoData'}
];
此外,这就是我如何包含'以前使用的视图'..实际上我在这里处理wth标签来加载视图...其如下
<tab heading="{{includeViews[0].title}}">
<div class="slide-animate-container">
<div class="slide-animate" ng-include="includeViews[0].url" ng-controller="infoData"></div>
</div>
</tab>
使用ng-include时,范围不会被复制..所以我无法获取数据
请告诉我如何处理这个,我不想编码新的,因为我正在将一个模块的相同功能复制到另一个模块中。 谢谢!
答案 0 :(得分:0)
有一些叫做Directive的角度,它正是为了创建可重用的组件。它是您正在寻找的解决方案,指令可以在不同的模块中重用。检查角度指令文档
答案 1 :(得分:0)
我自己找到了解决方案...... 它只是将$ parent作为我视图的ng-model值的前缀,我必须包括..
<div class="control-group">
<label class="control-label" for="fname"><b>Name:</b></label>
<div class="controls">
<input name="fname" type="text" ng-model="$parent.info.data"/><br/>
</div>
</div>
同样对于表单......也一样
参考链接是 https://github.com/angular/angular.js/wiki/Understanding-Scopes#ng-include