相关疑难解决方法(0)

防止双重大括号表示法在angular.js编译/插入文档之前暂时显示

当IE中存在大量要加载的图像/脚本时,它似乎主要是一个问题,{{stringExpression}}标记中文字的显示时间可能会很长,然后一旦完成角度的编译/插值就会消失.该文件.

有没有一个共同的原因,为什么会发生这种情况,这表明我做的事情总体上是错误的,或者是否有一种已知的方法来阻止这种情况?

angularjs

297
推荐指数
6
解决办法
10万
查看次数

在Angular指令模板中有条件地添加data-attribute

我正在研究指令的模板.如果作用域中的属性设置为true,data-toggle="dropdown"则应将该属性附加到该元素.如果变量为false,则此数据属性不应呈现为元素的属性.

例如,如果scope变量为true,则模板应呈现:

<span data-toggle="dropdown"></span>
Run Code Online (Sandbox Code Playgroud)

如果为false,则模板应呈现:

<span></span>
Run Code Online (Sandbox Code Playgroud)

模板看起来会是什么样的?


例如,我知道我可以ng-class有条件地使用一个类.如果我想要模板渲染:

<span class="dropdown"></span>
Run Code Online (Sandbox Code Playgroud)

然后我的模板看起来像这样:

"<span ng-class="{ 'dropdown': isDropDown }"></span>
Run Code Online (Sandbox Code Playgroud)

如果范围变量isDropDownfalse,则模板将简单地呈现:

<span></span>
Run Code Online (Sandbox Code Playgroud)

所以在模板中有一种方法可以有条件地添加一个class="dropdown".模板的语法是否允许我有条件地添加data-toggle="dropdown"


我为模板尝试过的一件事是:

"<span data-toggle="{ 'dropdown': isDropDown }"></span>
Run Code Online (Sandbox Code Playgroud)

我对上述模板的思考是,如果范围变量isDropDown为true,则值data-toggle将设置为"dropdown".如果isDropDown为false,那么value data-toggle将只是一个空字符串"".但这似乎不起作用.

angularjs angularjs-directive

63
推荐指数
3
解决办法
8万
查看次数

有条件地在angular.js中添加一个元素属性

我正在尝试根据is_autoplay范围变量向视频标记添加自动播放属性.

我搜索了整个互联网,但我找不到我想要的确切片段.

我试过跟随,但没有一个工作.


<video autoplay="{{is_autoplay ? 'true' : 'false'}}">
    ...
Run Code Online (Sandbox Code Playgroud)
<video ng-attr-autoplay="{is_autoplay}">
    ...
Run Code Online (Sandbox Code Playgroud)

有人甚至提出以下建议

<video {{is_autoplay ? "autoplay" : ""}}>
    ...
Run Code Online (Sandbox Code Playgroud)

以下解决了我的问题.

app.directive('attronoff', function() {
    return {
    link: function($scope, $element, $attrs) {
        $scope.$watch(
            function () { return $element.attr('data-attr-on'); },
            function (newVal) { 
                var attr = $element.attr('data-attr-name');

                if(!eval(newVal)) {
                    $element.removeAttr(attr);
                }
                else {
                    $element.attr(attr, attr);
                }
            }
        );
        }
    };
});
Run Code Online (Sandbox Code Playgroud)

任何人都可以使用此指令有条件地添加/删除属性.

Usage

<video width="100%" height="100%" controls attronoff data-attr-on="{{is_autoplay}}" data-attr-name="autoplay">
    ...
Run Code Online (Sandbox Code Playgroud)

angularjs

22
推荐指数
1
解决办法
3万
查看次数

如何在Angularjs中使用三元运算符设置ng-attr-title?

我是Angularjs的新手.我想基于布尔变量为title属性设置一个值.

此处附带示例代码.

 <tr ng-repeat="doc in $data" ng-class="{{doc.is_today}} ? 'highlight' : ''" 
                                        ng-attr-title="({{doc.is_today}}) ? 'Today' : ''"> 
     <td>1</td>
     <td>2</td>
     <td>3</td>
     <td>4</td>
     <td>5</td>
</tr>
Run Code Online (Sandbox Code Playgroud)

谢谢,

angularjs

5
推荐指数
1
解决办法
6959
查看次数

如何使用Angular有条件地向元素添加属性?(不仅属性数据,整个属性)

我有一些用角材料创建的链接.在那里我们的链接和按钮<md-button>.现在我有一个链接,只有当url存在时我才需要添加href属性.否则它不应该有一个href.

原因是,我有下面的主要链接和子链接.具有子链接的主链接不能具有href.如果它确实至少有空的href,只要我点击它以展开子链接,它就会转到索引模板.有些主要链接没有任何子链接.所以,对于他们我需要href和链接与子链接我需要完全删除href.我怎样才能做到这一点?

javascript angularjs

3
推荐指数
1
解决办法
9524
查看次数

Javascript:如果发现给定条件为真,我如何在标签中添加HTML代码?

我不能使用ng-if因为如果条件为false,它将删除整个标签(是吗?),这是我不想要的.我只想在条件为真时在标签内添加一个小代码,如果是假则不需要添加.

我有类似的东西:

<input ***stuff*** ng-if="condition==true" style="text-transform:capitalize"/>
Run Code Online (Sandbox Code Playgroud)

如果条件为true,只需在标记中添加样式,否则不要添加它.我知道如果满足条件,我可以通过添加一个类来实现它,然后为类添加css-part,但是,我可能就像我提到的那样吗?

html javascript css jquery angularjs

1
推荐指数
1
解决办法
86
查看次数

为什么'ng-attr-'不能与属性'multiple'一起使用?

我正在尝试<select>根据情况选择一个或多个选择。到目前为止,我已经尝试过:

<select  
ng-model="data.model"
ng-attr-multiple="{{myCondition ? '' : undefined}}">
Run Code Online (Sandbox Code Playgroud)

(这是我一直在使用https://plnkr.co/edit/ACKBMZSJc2MVSJaDBGMY?p=preview进行测试的plnkr ),
但是它不起作用。即使仅保留ng-attr-multiple也行不通。我在这里想念什么?

html angularjs

1
推荐指数
1
解决办法
616
查看次数

标签 统计

angularjs ×7

html ×2

javascript ×2

angularjs-directive ×1

css ×1

jquery ×1