无法访问指令控制器中的$ scope值

时间:2015-12-04 07:38:33

标签: javascript angularjs angularjs-directive angularjs-scope

我有一个简单的应用程序,但有些原因我无法访问指令控制器中的$ scope值。

app.js

var myApp = angular.module('myApp',['ngAnimate']);

controller.js

myApp.controller('controller1',['$scope',function($scope) {
    $scope.helloText = 'text';
}])

directive.js

myApp.directive('myPanel',function(){
    return {
        restrict : "E",
        scope : {
            someText : "="
        },
        templateUrl : 'someTemplate.html'
        controller : function($scope) {
            console.log($scope.someText);// this is undefined
        }
    };
});

someTemplate.html

<h1>This is the text {{someText}}</h1>

main.html

<div ng-controller="controller1">
    <my-panel someText="helloText"></my-Panel>
</div>

需要一些指示来了解我做错了什么?

1 个答案:

答案 0 :(得分:3)

你的外壳已关闭。

ln -s ./bin ./script

您可以在guide

中了解规范化

直接来源

<强>正常化

  

Angular规范化元素的标记和属性名称,以确定哪些元素与哪些指令匹配。我们通常通过其区分大小写的camelCase规范化名称(例如ngModel)来引用指令。但是,由于HTML不区分大小写,我们通过小写形式引用DOM中的指令,通常使用DOM元素上的划线分隔属性(例如ng-model)。

规范化过程如下:

从元素/属性的前面剥离x-和data-。 将:, - 或_分隔的名称转换为camelCase。