我希望直接从属性指令中获取值:
<form cronos-dataset="People as p">
Form Content
</form>
在我的JS中我尝试过:
app.directive('cronosDataset',[function() {
return {
restrict: 'A',
controller: 'CronosGenericDatasetController',
scope: {
"cronos-dataset" : '@'
}
};
}])
.controller("CronosGenericDatasetController",['$scope', function($scope) {
alert($scope["cronos-dataset"]);
}]);
我想提醒"People as p"
字符串,但我得到undefined
。这是正确的道路还是我应该采取不同的方法?
答案 0 :(得分:8)
你应该在范围声明
中有camelCaseapp.directive('cronosDataset',[function() {
return {
restrict: 'A',
controller: 'CronosGenericDatasetController',
scope: {
cronosDataset : '@'
}
};
}])
这是一个演示,可以看到不同的变化 http://plnkr.co/edit/G6BiGgs4pzNqLW2sSMt7?p=preview
答案 1 :(得分:5)
改为建立链接功能:
app.directive('cronosDataset',[function() {
return {
scope: {},
restrict: 'A',
link: function (scope, elem, attrs) {
alert(attrs.cronosDataset);
}