Angularjs 将范围变量传递给指令';s控制器
我的指令在js文件中有单独的控制器,它有一个作用域变量parameterDatabase,需要从调用页面填充它。我无法找到将价值传递给它的方法Angularjs 将范围变量传递给指令';s控制器,angularjs,directive,Angularjs,Directive,我的指令在js文件中有单独的控制器,它有一个作用域变量parameterDatabase,需要从调用页面填充它。我无法找到将价值传递给它的方法 <body ng-app="testAPP" ng-controller="ctl"> Directive Here <my-cust parameterDATABASE="dt"></my-cust> <script > APP = angular.module("testAPP",['sche
<body ng-app="testAPP" ng-controller="ctl">
Directive Here
<my-cust parameterDATABASE="dt"></my-cust>
<script >
APP = angular.module("testAPP",['schedule']);
APP.controller("ctl",function($scope)
{
$scope.dt = {date:"02-03-2017",sDay:"Thu",sTime:"01:00"};
}) // end of controller
APP.directive("myCust",function()
{
return{
scope:{
parameterDATABASE:'='
},
controller:"scheduleCtrl",
templateUrl:"templateForDirective.html"
}
})
</script>
根据一些角度命名约定,指令的属性名称应转换为camelCase
因此,html指令
中的参数数据库
应该是参数数据库
所以,在指令中,你应该用它作为
scope: {
parameterDatabase: '='
}
因此,参数数据库
映射到==>参数数据库
2)您也可以在这两个位置直接使用,parameterdatabase
,而无需大写
例如:html指令中的parameter database=“dt”
scope: {
parameterdatabase: '='
}
var-app=angular.module(“myApp”,[]);
应用控制器(“ctl”,功能($scope)
{
$scope.dt={日期:2017年3月2日,星期四:星期四,时间:01:00};
})//结束
应用指令('isolateScopeWithController',函数(){
变量控制器=['$scope',函数($scope){
console.log($scope.parameterDatabase)
}],
template='我来自指令控制器
{{parameterDatabase}}';
返回{
restrict:'EA',//1.3中的默认值+
范围:{
参数数据库:'='
},
控制器:控制器,
模板:模板
};
});
对你的问题有点困惑。如果我理解了您的代码,那么您的自定义控制器(在另一个文件中,显然没有上图)应该在该控制器中作为$scope.parameterDATABASE
可用。这就是你要找的吗?如果您也发布了该代码,并澄清了预期的内容和实际发生的内容,这将非常有用。var APP=angular.module('schedule',[]);APP.controller('scheduleCtrl',function($scope,$filter){$scope.parameterDATABASE=[];//这是我想要填充的变量。它们需要是同一角度模块的一部分作为开始。您使用3个模块:ng APP=“testAPP”
在顶部,“MyRTO”
带有一个控制器和“schedule”
指令的控制器。这不起作用。@user3513192,请检查我的答案。
scope: {
parameterdatabase: '='
}