想了解ng-bind-html对输入标签无效的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于html输入框标签的相关问题,此外,我们还将为您介绍关于AngularJSng-model对标签无
想了解ng-bind-html对输入标签无效的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于html输入框标签的相关问题,此外,我们还将为您介绍关于Angular JS ng-model对的新知识。
本文目录一览:- ng-bind-html对输入标签无效(html输入框标签)
- Angular JS ng-model对
- angularjs ng-bind-html 指令 对html标签转译
- asp.net – 什么时候回输HTML输入标签?
- html – 为什么输入标签不允许直接在表单标签中?
ng-bind-html对输入标签无效(html输入框标签)
我正在尝试将HTML存储在范围变量内,然后在模板视图中使用它。当我以角度阅读如何做时,我遇到了ng-bind-html
。在这方面,我注意到当我将HTML标签与,等绑定时<a>
,<strong>
它可以工作。但是我无法为其添加<input>
标签。
意思是,这有效:
$scope.myHtml = ''<strong>This is <a hreaf="#">Something</a></strong>'';
模板:
<p ng-bind-html="myHtml"> </p>
但这不起作用:
$scope.myHtml = ''<input type="text" />'';
模板:
<p ng-bind-html="myHtml"> </p>
上面只是一个简化的示例,仅用于演示目的。我的问题是:
1)标签不能与ng-bind-html指令一起使用吗?
2)如果没有,我如何html绑定输入标签,以便可以将其插入视图中?
答案1
小编典典您收到$ sce:unsafe错误…
这意味着您应该使用,ng-bind-html-unsafe
但是较新版本的angularjs不再包含此指令,因此您应该sce.trustAsHtml()
像这样使用$ …
$scope.trustedInputHtml = $sce.trustAsHtml(''<input type="text" />'');
但是这种方式您不能将范围变量绑定到您的html,因此最好的方法是编写可以替换为ng-bind-html-unsafe
… 的指令。
这是用于$ sce和指令示例的PLUNKER
…
Angular JS ng-model对
使用场景一:
<select ng-if="item.award_type==1" id="award{{$index+1}}" name="XXXXX[award{{$index+1}}]" ng-model="item.award">
<option ng-repeat="(key, value) in List track by $index" value="{{key}}">{{value}}</option>
</select>
使用场景二:
<select id="award_type{{$index+1}}" name="XXXXX[award_type{{$index+1}}]" ng-model="item.award_type" ng-change="changeAwardType($index)">
<option value="0">请选择奖品</option>
<option value="1">商品券</option>
<option value="2">优惠券</option>
<option value="3">实物奖励</option>
</select>
<select> - <option> 配合 ng-model 使用的话
如果是场景二, ng-model 绑定数据后,下面的 <option> 能随 ng-model 绑定的数据改变,即将对应value的<option>设为selected;
如果是场景一,<option> 使用 ng-repeat 绑定数据,<select>用 ng-model 绑定则无法起到将对应的<option>设为selected,此时代码得做相应的修改,使用ng-selected进行处理
<select ng-if="item.award_type==1" id="award{{$index+1}}" name="XXXXX[award{{$index+1}}]" ng-model="item.award">
<option ng-repeat="(key, value) in List track by $index" value="{{key}}" ng-selected="item.award==key?''selected'':''''">{{value}}</option>
</select>
angularjs ng-bind-html 指令 对html标签转译
文章参考
http://www.tuicool.com/articles/2eIrIz
http://www.runoob.com/angularjs/ng-ng-bind-html.html
在工作中遇到问题:用户在后台添加一篇新闻,在数据库中存储的是HTML代码,从数据库查询出来之后结果把HTML代码显示出来。
解决办法:使用ng-bind-html 指令,能够对HTML代码的标签转译,在浏览器中显示
ng-bind-html 指令会自动过滤掉标签内的样式?
所谓sce即“Strict Contextual Escaping”的缩写。翻译成中文就是“严格的上下文模式”也可以理解为安全绑定吧。
$sce干的事情来看就是将语境中存在的跨站攻击的风险给干掉.
我们返回的内容中包含一系列的html标记,它可以通过使用$sce.trustAsHtml()。该方法将值转换为特权所接受并能安全地使用“ng-bind-html”。所以,我们必须在我们的控制器中引入$sce服务.
代码如下
【1】angular源码分析:angular中入境检察官$sce
【2】野兽的 Angular 学习 - -sce和sce和sceDelegate
【3】$sce官方手册
asp.net – 什么时候回输HTML输入标签?
我不认为这与asp.net有任何关系.不使用ajax等.尝试使用一个非常简单的html页面,仍然无法搞清楚.
也许在< form>内或不在其中标签?但我所有的asp:文本框控件都在标准的表单标签内,有些是做的,有些则没有.从我所看到的与autopostback无关.
编辑:
导致回发的示例标记:
<html> <body> <form> <input type=text /> </form> </body> </html>
我有asp.net页面肯定不回发.代码是广泛的,我无法弄清楚为什么不.
EDIT2:
如何防止回发?
解决方法
<html> <body> <form> <input type="text" ></input> <input type="text"></input> </form> </body> </html>
我在IE7和FF3中尝试了这个并且它有效.
html – 为什么输入标签不允许直接在表单标签中?
Non-block-level elements (such as
<input>
) are not valid directly inside<form>
tags until HTML5.
我从来没有听说过这些内容,我看到的每个基本的HTML教程似乎都可以直接将输入标签放在表单标签中.所以我的问题有三个部分:
>上述声明是否合法?
>为什么会这样? (它只是一个疏忽,还是HTML规范的创建者试图通过创建此规则来防止特定问题?)
>使用输入构建表单的推荐方法是什么? (我们是否应该直接在表单标记内创建div或表?)
解决方法
>就标准而言,该语句是合法的:在HTML 4.01中,definition for <form>
指定它可能只包含块元素或< script>.至于世界上每个浏览器允许的内容,都可以.>我只能猜测他们认为< form>根本不是布局标签,他们希望所有内联元素都包含在块元素中.>是的,您应该在< form>中放置一个< div>,< table>,< p>或其他一些块表示元素.
我们今天的关于ng-bind-html对输入标签无效和html输入框标签的分享已经告一段落,感谢您的关注,如果您想了解更多关于Angular JS ng-model对的相关信息,请在本站查询。
本文标签: