获取指令控制器中 HTML 中定义的指令属性
get directive attribute defined in HTML in directive controller
我正在创建一个自定义控制器,我想在其中获取控制器中的指令属性。这是我到目前为止所做的,但我无法获得属性值。
HTML代码:
<my-text name="tester"></my-text>
Angular 代码:
app.directive('MyText', function() {
var controller = ['$scope', function ($scope) {
console.log($scope.name)
$scope.text = $scope.name
}];
return {
restrict: 'EA',
scope: {
name: '='
},
controller: controller,
template: 'Name: {$ text $}'
};
});
你可以看到我已经在 HTML 中定义了一个属性 name
具有值 tester
我想在指令控制器中获取这个值,以便我可以对此进行一些计算和在 template
中显示结果。这只是我尝试做的演示,但最后我将向后端发送 $http 请求(POST 中的属性值)并在模板 HTML.
中显示响应
有什么错误的建议吗?
注意:我在 angular 中使用此 {$ var $}
语法,因为我正在覆盖 angular 默认语法,因为我使用 Python /Django 作为后端并且两者都有类似语法
这是一个演示 plunker
您应该像这样更新您的指令:
app.directive('myText', function(){
return {
restrict: 'AE',
scope: {
name: '='
},
controller: function($scope, $element, $attrs){
console.log($attrs.name)
$scope.text = $attrs.name;
},
template: 'Name: {{text}}'
};
});
我正在创建一个自定义控制器,我想在其中获取控制器中的指令属性。这是我到目前为止所做的,但我无法获得属性值。
HTML代码:
<my-text name="tester"></my-text>
Angular 代码:
app.directive('MyText', function() {
var controller = ['$scope', function ($scope) {
console.log($scope.name)
$scope.text = $scope.name
}];
return {
restrict: 'EA',
scope: {
name: '='
},
controller: controller,
template: 'Name: {$ text $}'
};
});
你可以看到我已经在 HTML 中定义了一个属性 name
具有值 tester
我想在指令控制器中获取这个值,以便我可以对此进行一些计算和在 template
中显示结果。这只是我尝试做的演示,但最后我将向后端发送 $http 请求(POST 中的属性值)并在模板 HTML.
有什么错误的建议吗?
注意:我在 angular 中使用此 {$ var $}
语法,因为我正在覆盖 angular 默认语法,因为我使用 Python /Django 作为后端并且两者都有类似语法
这是一个演示 plunker
您应该像这样更新您的指令:
app.directive('myText', function(){
return {
restrict: 'AE',
scope: {
name: '='
},
controller: function($scope, $element, $attrs){
console.log($attrs.name)
$scope.text = $attrs.name;
},
template: 'Name: {{text}}'
};
});