为了账号安全,请及时绑定邮箱和手机立即绑定

求大神帮我看下代码。怎么解决?

// function CommonController($scope){
// 	$scope.commonFn=function(){
//     	alert("这里是通用功能!");
//     };
// }

// function Controller1($scope) {
//     $scope.greeting = {
//         text: 'Hello1'
//     };
//     $scope.test1=function(){
//     	alert("test1");
//     };
// }

// function Controller2($scope) {
//     $scope.greeting = {
//         text: 'Hello2'
//     };
//     $scope.test2=function(){
//     	alert("test2");
//     }
// }
var myModule = angular.module("MyModule", []);
myModule.controller('CommonController',['$scope',function(){
    function CommonController($scope){
        $scope.commonFn=function(){
            alert("这里是通用功能!");
        };
    }
}])
myModule.controller('Controller1',['$scope',function(){
    function Controller1($scope){
        $scope.greeting={
            text:'hello'
        };
        $scope.test1=function($scope){
            alert('test1')
        };
    }
}])
myModule.controller('Controller2',['$scope',function(){
    function Controller2($scope){
        $scope.greeting={
            text:'hello'
        };
        $scope.test2=function($scope){
            alert('test2')
        };
    }
}])

注释掉的是原本就有的,可以正常使用,我改写成下面这样,功能就没法实现了

html:

<!doctype html>
<html ng-app='MyModule'>
    <head>
        <meta charset="utf-8">
    </head>
    <body>
        <div ng-controller="CommonController">
            <div ng-controller="Controller1">
                <p>{{greeting.text}},Angular</p>
                <button ng-click="test1()">test1</button>
                <button ng-click="commonFn()">通用</button>
            </div>
            <div ng-controller="Controller2">
                <p>{{greeting.text}},Angular</p>
                <button ng-click="test2()">test2</button>
                <button ng-click="commonFn()">通用</button>
            </div>
        </div>
    </body>
    <script src="js/angular-1.3.0.js"></script>
    <script src="MVC3.js"></script>
</html>


正在回答

2 回答

谢谢大神!按照你说的修改后没问题了!

0 回复 有任何疑惑可以回复我~

你的问题在于,没有理解angular的依赖注入。

myModule.controller('Controller1',['$scope'/*这里声明你的controller依赖的服务*/,function($scope/*这里对应之前声明的依赖项,angular的依赖注入系统会根据你之前的声明按照顺序把对应的服务注入进来*/){

        $scope.greeting={

            text:'hello'

        };

        $scope.test1=function($scope){

            alert('test1')

        };

}])

你原来的写法多写了一层 function

0 回复 有任何疑惑可以回复我~
#1

Is华丽 提问者

谢谢大神!按照你说的修改后没问题了!
2014-12-10 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
AngularJS实战
  • 参与学习       205465    人
  • 解答问题       1158    个

一起学习AngularJS的基础教程,通过实例学习并学会AngularJS

进入课程

求大神帮我看下代码。怎么解决?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信