我有这样定义的指令:
angular
.module('ui-abc', [ 'xyz'])
.directive('computer', compute);
function compute( item) {
return {
restrict: "EA",
templateUrl: '../elements/src/template.html',
scope:{ qwerty : '=',}
controller: ['$scope','$sce', {
.........
}
控制器没有名称,我该如何添加?我需要这个名字,以便我可以在我的ui-router配置中引用该控制器。我试着这样做
function compute( item) {
return {
restrict: "EA",
templateUrl: '../elements/src/template.html',
controller: "controllerName"
}
app.controller("controllerName", function(){......
....
App未在此模块中定义,它在主app.js控制器文件中定义。
所以,它不起作用,我有什么不对?
答案 0 :(得分:0)
在这里,您 app
将是 - var app = angular.module('ui-abc', [ 'xyz']);
如果您没有controller: "something"
,请不要使用pthread_kill
。如果你只是跳过那条线就没关系。
答案 1 :(得分:0)
您可以添加名为'controllerAs'的参数,如下所示:
function compute( item) {
return {
restrict: "EA",
templateUrl: '../elements/src/template.html',
controller: "controllerName",
controllerAs: 'cName'
};
}
答案 2 :(得分:0)
在你的指令中,你可以放一个名为controllerAs的参数
directive.js
function compute( item) { return {
restrict: "EA",
templateUrl: '../elements/src/template.html',
controller: 'controllerName',
controllerAs: 'vm'
};}
您现在可以在template.html
中将控制器称为vmtemplate.html
<body><h1>{{ vm.variableName }}</h1></body>