javascript - Angular : directive ng-transclude to input value

标签 javascript angularjs angularjs-directive transclusion

我正在尝试创建一个指令,将 ng-transclude 值添加到 html 模板中的输入字段值属性:

指令我已经创建:

module.directive('editInput', function(){
    return {
        restrict: 'E',
        scope: {
            value: '='
        },
        transclude: true,
        template: '<p ng-show="value == false" ng-transclude></p>' +
        '<input ng-show="value == true" placeholder="" value="" ng-transclude/>'
    }
});

寻找将 ng-transclude 值添加到 input 元素中的 value 属性的东西

模板:

<edit-input value="isEditModeActive">{{person.name}}</edit-input>

目前我得到这个 html 输出:

<input ng-show="value == true" placeholder="" value="" ng-transclude="" class="">
<span class="ng-binding">Name</span></input>

但我真的需要这个 html 输出:

<input ng-show="value == true" placeholder="" value="Name">

最佳答案

脚本.js:

angular.module('app', [])
.controller('ctrl', function($scope) {
  $scope.person = {};
  $scope.person.name = 'Rahul';
})
.directive('editInput', function(){
    return {
        restrict: 'E',
        scope: {
            value: '=',
            editName: '@'
        },
        transclude: true,
        template: 
        '<p ng-show="value == false" ng-transclude></p>' +
        '<input ng-show="value == true" placeholder="" value="{{editName}}" />'
    }
});

index.html:

<!doctype html>
<html lang="en" ng-app="app">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body ng-controller="ctrl">
    <script src= "angular.js"></script>

    <script src= "script.js"></script>

    <edit-input value="true" edit-name="{{person.name}}">{{person.name}}</edit-input>
    {{person.name}}
</body>
</html>

关于javascript - Angular : directive ng-transclude to input value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23941746/

相关文章:

ios - AngularJS 数据绑定(bind)不适用于 iOS Safari 仅适用于 Heroku 应用程序

angularjs - 如何在AngularJS指令模板中动态定义要用ng-click调用的函数

javascript - 如何从子指令的链接函数调用父指令的链接函数

javascript - 如何禁用chrome中的保存密码提示

javascript - React 内联样式不会影响我的自定义组件

javascript - 如何让 slider 在网站上动态添加或减去元素?

javascript - 音频 : tag write using JavaScript

javascript - 无法创建由继承自多个类的类组成的 AngularJS 服务

javascript - $scope.$root 和 $rootScope 有什么区别?

javascript - Angularjs $setViewValue 不影响 ngModel