Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在AngularJS中为两个相同的视图使用相同的控制器_Javascript_Angularjs_Angular Seed - Fatal编程技术网

Javascript 如何在AngularJS中为两个相同的视图使用相同的控制器

Javascript 如何在AngularJS中为两个相同的视图使用相同的控制器,javascript,angularjs,angular-seed,Javascript,Angularjs,Angular Seed,我正在我的项目中研究角形种子。 我有两个相同的视图(HTML页面),它们是相同的(具有相同的元素和功能)。 这两个页面的GridView也将由相同的服务填充,但这两个页面的RESTAPI URL不同。现在在我的router.js中,我想使用$stateprovider.state()路由到这些页面。 我的问题是:我可以为这两个视图使用一个控制器,还是为每个视图使用一个单独的控制器。但是,当我对两个视图页面使用相同的控制器时,会出现“喷油器未定义”错误。 有不同的方法吗?处理此类情况的最佳程序是什

我正在我的项目中研究角形种子。
我有两个相同的视图(HTML页面),它们是相同的(具有相同的元素和功能)。
这两个页面的
GridView
也将由相同的服务填充,但这两个页面的RESTAPI URL不同。现在在我的router.js中,我想使用
$stateprovider.state()
路由到这些页面。
我的问题是:我可以为这两个视图使用一个控制器,还是为每个视图使用一个单独的控制器。但是,当我对两个视图页面使用相同的控制器时,会出现“喷油器未定义”错误。

有不同的方法吗?处理此类情况的最佳程序是什么?

这是一个有点笼统的答案,如果您提供一些其他详细信息或代码,我可以更新它。对于不同的视图,可以使用相同的控制器。虽然就个人而言,我倾向于避免这种情况,以防我以后不得不修改其中一个视图。我会使用两个不同的控制器,但会在服务/指令中放入许多通用代码。我认为将控制器中的业务逻辑量降至最低是一个很好的做法


如果您有相同的视图,只更改URL,我会考虑使用URL参数或路由参数。那么实际上您只有一个视图和一个控制器。

您能提供一些代码吗?:)您正在使用我收集的ui路由器?您可以将网格包装成一个指令(该指令可以包含自己的控制器),然后在视图上重用该指令