如何将该模块中的AngularJS控制器转换为另一种格式
How to convert this AngularJS controller in this module to another format?
我有这个AngularJS控制器;
angular.module('plunker', ['ui.bootstrap']);
var TabsDemoCtrl = function ($scope) {
$scope.tabs = [
{ title:"Dynamic Title 1", content:"Dynamic content 1" },
{ title:"Dynamic Title 2", content:"Dynamic content 2", disabled: true }
];
$scope.alertMe = function() {
setTimeout(function() {
alert("You've selected the alert tab!");
});
};
$scope.navType = 'pills';
};
我想把它转换成另一个控制器(从AngularJS种子),格式如下;
angular.module('myApp.controllers', []).
controller('MyCtrl1', [function() {
}])
.controller('MyCtrl2', [function() {
}]);
index.html是这样的;
<div ng-controller="TabsDemoCtrl">
<p>Select a tab by setting active binding to true:</p>
<p>
<button class="btn btn-default btn-sm" ng-click="tabs[0].active = true">Select second tab</button>
<button class="btn btn-default btn-sm" ng-click="tabs[1].active = true">Select third tab</button>
</p>
<p>
<button class="btn btn-default btn-sm" ng-click="tabs[1].disabled = ! tabs[1].disabled">Enable / Disable third tab</button>
</p>
<hr />
转换后的控制器应该是什么样子?
我尝试了以下操作,但是没有成功。
angular.module('myApp.controllers', []).
controller('TabsDemoCtrl', [function() {
$scope.tabs = [
{ title:"Dynamic Title 1", content:"Dynamic content 1" },
{ title:"Dynamic Title 2", content:"Dynamic content 2", disabled: true }
];
$scope.alertMe = function() {
setTimeout(function() {
alert("You've selected the alert tab!");
});
};
$scope.navType = 'pills';
}])
.controller('MyCtrl2', [function() {
}]);
我做错了什么?
你必须将$scope
注入控制器才能使其工作
angular.module('myApp.controllers', []).
controller('TabsDemoCtrl', ['$scope', function($scope) {
$scope.tabs = [
{ title:"Dynamic Title 1", content:"Dynamic content 1" },
{ title:"Dynamic Title 2", content:"Dynamic content 2", disabled: true }
];
$scope.alertMe = function() {
setTimeout(function() {
alert("You've selected the alert tab!");
});
};
$scope.navType = 'pills';
}]);
您可能希望在第二行指定$scope。所以你的代码应该是
angular.module('myApp.controllers', []).
controller('TabsDemoCtrl', ['$scope', function() {
$scope.tabs = [
{ title:"Dynamic Title 1", content:"Dynamic content 1" },
{ title:"Dynamic Title 2", content:"Dynamic content 2", disabled: true }
];
....
同时,确保你的myApp。Controllers已经注册。
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 如何在JavaScript中将字符串转换为函数引用
- Ember.js:将Em.$.getJSON转换为promise并将响应绑定到控制器上下文的正确方法
- 如何将控制器http调用转换为接受参数的服务/工厂模式
- 在路线转换后重新初始化物料控制器
- Ember添加了对转换调用上下文(路由/控制器)的检查
- 尝试理解$.inArray,或将$scope转换为“$scope”;控制器As”;AngularJS中的语法
- EmberJS:如何从控制器转换到路由器's的操作
- 哪个“控制器”在 JSON 中转换来自 .NET Web 服务的 XML 响应
- 将 JavaScript 对象转换为控制器的模型
- 从路由转换不会删除 Ember.js 中退出路由的控制器观察器
- 如何使用EM6 ngupgrade将angularJS版本1.X控制器转换为角度2.X
- AngularJS中的控制器转换为控制器
- 如何使用ng转换从控制器解析的变量
- 转换angular 1的问题.将x控制器导入TypeScript
- Angular转换不能在两个控制器之间工作
- 将项从控制器中的值转换为指令
- AngularJS-使用控制器将语法转换为Browserfy
- 在angular js中,如何将json对象作为状态转换的一部分发送到另一个控制器
- 如何将该模块中的AngularJS控制器转换为另一种格式