1

OK、Web リンク ディレクティブを作成しようとしています。リンクには URL とテキスト値が必要です。テキスト値に値がない場合、テキスト値は URL と等しくなります。例えば:

<a href="http://google.com">http://google.com</a>

リンクにテキスト値がある場合の例

<a href="http://google.com">Search engine</a>

以下のコードには、url 値とテキスト値を記録する 2 つの入力タグがあります。テキスト値が空白の場合、テキスト値は URL 値と等しくなります。これが私のディレクティブのコードです:

Website1.directive('inputlink', function () {
    return {
        restrict: 'E',
        replace: false,
        scope: {
            urlvalue: '=',
            textvalue: '='
        },
        template:   '<div>' +
                        '<input type="text" ng-model="urlvalue" value="{{urlvalue}}" placeholder="Enter link URL"></input>'+
                        '<input type="text" ng-model="textvalue" value="{{textvalue}}" placeholder="Enter text"></input>' +
                    '</div>'
    }
});

したがって、textvalue が空白の場合、urlvalue と等しくなります。それ以外の場合、textvalue は独自の値になります。

4

1 に答える 1

2

関数で変更する必要があります。そのようです

link: function( $scope, $element, $attributes ) {
    if(!$scope.textvalue) {
       $scope.textvalue = $scope.urlvalue;
    }
}

また、要件によっては、それが必要に$watchなる場合もあります。

于 2013-10-15T23:41:32.817 に答える