我正在使用部分视图和angularJS开发单页应用程序。 我有一种情况,我必须使用不同的数据多次打开相同的局部视图。
我试图通过添加app.directive并同时在js和html中更改控制器名称来使控制器名称动态化,然后调用Angular-Complies方法,但是问题是它为所有先前打开的选项卡更改了它。 然后,我尝试使用Jquery制作多个js文件并在局部视图中更改控制器名称,但仍然无济于事。这是我的代码。
HTML:
<div ng-app="myApp">
<!-- this is in view1.html -->
<div ng-controller="DashboardDesignerController">
<div ng-repeat="widget in workspace.widgets">stuff here
</div>
</div>
<!-- this is in view1.html -->
<div ng-controller="DashboardDesignerController">
<div ng-repeat="widget in workspace.widgets">stuff here
</div>
</div>
// Angular控制器位于单独的JS文件中。
app.controller("DashboardDesignerController" , function ($scope, $http,
$rootScope, $compile, $injector, $timeout) {
}
我希望每个标签都根据其数据单独运行,但是目前,当我转到第一个打开的标签时,其作用域随上一个打开的标签而改变。 有没有用angularJS内置的方法来执行此操作,或者也将赞赏一些好的方法。
答案 0 :(得分:0)
实际上,问题是,我在核心JavaScript中调用了图表挖掘方法,该方法将$ scope替换为上次打开的方法。 通过使用JQuery获取作用域解决了该问题
var scope= angular.element($('.k-state-active').find('.tempDiv')[0]).scope();
,并使用此范围变量调用了角度函数。