如何根据条件为ng-model分配值

时间:2013-10-15 23:37:30

标签: javascript angularjs

好的,我正在尝试创建一个Web链接指令。该链接需要URL和文本值。如果文本值没有值 - 文本值将等于url。例如:

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

当链接具有文本值

时的示例
<a href="http://google.com">Search engine</a>
下面代码中的

是两个输入标记,用于记录url值和文本值。如果文本值为空,则文本值将等于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将具有自己的值。

1 个答案:

答案 0 :(得分:2)

您需要在功能中更改它。像这样

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

根据您的要求,您可能还需要$watch