javascript - 将控制器变量值传递给AngularJS中的指令
问题描述
我正在研究从SO 上的这个答案中找到的小提琴
我已经通过以下方式针对我的情况修改了小提琴:
angular.module('sampleApp', [])
.controller('myCtrl', function($scope) {
$scope.func = function() {
$scope.name = "Test Name";
}
})
.directive("myDirective", function($compile) {
return {
template: "<div>{{name}}</div>",
scope: {
name: '='
},
link: function(scope, element, attrs) {
alert(scope.name);
}
}
});
基本上,我试图将变量值从范围函数传递给指令 - 但警报消息显示一个未定义的值。
关于这里出了什么问题的任何想法?如何在 $scope.func 函数中传递存储在 $scope.name 中的值并将其传递给指令?
更新的小提琴可以在这里找到。
解决方案
问题是您在控制器的函数中定义名称,并且该函数永远不会被调用。改成这个。
angular.module('sampleApp', [])
.controller('myCtrl', function($scope) {
$scope.name = "Test Name";
})
.directive("myDirective", function($compile) {
return {
template: "<div>{{name}}</div>",
scope: {
name: '='
},
link: function(scope, element, attrs) {
alert(scope.name);
}
}
});
<div ng-app="sampleApp" ng-controller="myCtrl">
<div my-directive name="name">
</div>
</div>
推荐阅读
- c# - InvalidOperationException:在类型中找到了接受所有给定参数类型的多个构造函数
- python - Scrapinghub spider 在任务完成之前完成并关闭
- angular - 从 Angular Web 应用程序中的 firebase 实时数据库中删除项目
- matlab - 在拆分过程中更改训练和测试百分比的更好方法是什么?
- wireshark - 如何编写一个线符解析器,其中数据包的格式取决于数据包中的一个字段?
- javascript - How should I connect my sliders to the article element in JavaScript?
- mongodb - docker:创建一个在docker-compose down后仍然保存的mongodb卷?
- java - 如何让 PDFTextStripper 逐行提取文本?
- python - 为什么我在我的项目 python 速成课程中看不到主题
- r - 在 R 中处理数据