Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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
Angularjs Angular JS模板可以包含控制器吗?_Angularjs - Fatal编程技术网

Angularjs Angular JS模板可以包含控制器吗?

Angularjs Angular JS模板可以包含控制器吗?,angularjs,Angularjs,这是我的路线 angular.module('ng')。 配置(函数($routeProvider){ $routeProvider。 当('/User_View',{templateUrl:'/rest/tbot/run/User_View'}); }); 在模板中,它具有以下内容 TMUser在脚本块的模板中定义。但是控制器中的代码似乎没有运行。为什么会这样?不应在模板文件中定义控制器。我不认为Angular可以知道它并以这种方式加载它。在将在路由更改发生之前执行的代码文件中定义它 您

这是我的路线

angular.module('ng')。
配置(函数($routeProvider){
$routeProvider。
当('/User_View',{templateUrl:'/rest/tbot/run/User_View'});
});
在模板中,它具有以下内容



TMUser在脚本块的模板中定义。但是控制器中的代码似乎没有运行。为什么会这样?

不应在模板文件中定义控制器。我不认为Angular可以知道它并以这种方式加载它。在将在路由更改发生之前执行的代码文件中定义它

您还可以在
routeProvider
配置对象中指定控制器,如:

when('/User_View',{templateUrl:'/rest/tbot/run/User_View',controller:'TMUser'});
演示一个非常简单的示例()

以上答案是正确的。 但我使用ng include和ng hide实现了相同的功能,ng view和routing的具体功能是什么

我创建了一个没有控制器的部分页面,并将其包含在父页面中,并在单击按钮后隐藏该部分页面。我只是在显示该页面

路由在贝尼菲特身上有作用。您可以传递参数并相应地更改视图和浏览器历史记录

下面是我的页面内容,子控制器中的代码


这是我的第页


文件名
文件创建日期
文件修改日期
{{file.FileName}
{{file.CreateDate}
{{file.ModifiedDate}

和控制器代码

var deploymentVerifierModule=angular.module(“DeploymentVerifierApp”,['DeploymentServiceModule']);
控制器(“DeploymentVerifierCentrl”,函数($scope,DeploymentService){
$scope.datashow=false;
$scope.pleaseewait=false;
$scope.VerifyChange=函数(){
//从文本框中获取更改票号
$scope.pleaseewait=true;
var changeticketnum=document.getElementById(“ChangeNumber”).value;
GetChangeDetails(changeticketnum)。然后(函数(数据){
$scope.FilesDetails=angular.fromJson(数据);
$scope.pleaseewait=false;
$scope.datashow=true;
},函数(错误){});
};
});

我仍然不明白你们的一些观点,为什么你们希望控制器在模板中。templateurl属性也包含页面的扩展。

除非您做了一些不寻常的事情,否则您的templateurl中缺少“.html”?Url在服务器上重写。然后不是很模块化。如果我有一个由100页组成的单页应用程序。。。这是否意味着我需要在主机页面中加载100页脚本?您可以使用类似RequireJS的东西来加载模块。但是,除非你对这数百个页面中的每一个页面都有一些独特且长的控制器代码(这是不太可能的),否则使用Google Closure进行最小化和优化会让你有很长的路要走。这是一个示例应用程序,它演示了这个概念:我希望在模板中包含控制器,以便javascript只在需要时加载。如果页面没有扩展名,templateurl不包含扩展名。;)