我创建了一个输入
的角度指令 mainApp.directive('myInput', function () {
return {
restrict: 'E',
template: '<label class="form-group"> <span>{{name}}</span>{{required}}
<input class="form-control" placeholder="{{placeholder}}" type="{{type}}" ng-required= "{{mandatory}}" > </label>',
replace: true,
scope: {
placeholder: '@',
type: '@',
name: '@',
mandatory: '@',
value:'@',
},
}
});
控制器
mainApp.controller("myController", ["$scope", function ($scope) {
$scope.Firstname = ' ';
}]);
HTML
<my-Input type="text" placeholder="First name Last name" mandatory="0" ng-model="$ctrl.Firstname"></my-Input>
<h4>{{$ctrl.Firstname}}</h4>
无法在标签内打印输入文字。请帮忙。 演示网址:http://codepen.io/JEETPAL/pen/pRWmKJ?editors=1010
答案 0 :(得分:2)
只需在控制器中使用ng-model="Firstname"
代替ng-model="$ctrl.Firstname"
即可。如果你没有表明controller as $ctrl
还
您应该在指令的模板中添加ng-model
并通过绑定ngmodel-value = "Firstname"
发送您的ng-model值,然后在您指令的范围中添加ngmodelValue = "="
用于双向绑定