为了账号安全,请及时绑定邮箱和手机立即绑定

angularjs/ng-bind如何保留换行符

angularjs/ng-bind如何保留换行符

qq_遁去的一_1 2019-03-14 16:10:27
angularjs/ng-bind如何保留换行符
查看完整描述

2 回答

?
达令说

TA贡献1821条经验 获得超6个赞

不同于jquery只是一个加强和简化前端开发的类库,angularjs是一个完整web前端框架,所以学习曲线高了很多。
angularjs给我的感觉类似于Java的Spring框架,处于中心容器位置粘合其他组件,其内置的很多组件已经可以满足一般场景,特殊场景我们可以按照框架思路扩展。
下面从最基础的内容走起:
<!DOCTYPE html>
<html ng-app>
<head>
<meta charset="utf-8">
<title>ng-bind directive</title>
</head>
<body ng-controller="HelloController">
<div>
<p>直接输出字符串字面值</p>
Hello {{"World"}}
<hr>
</div>

<div>
<p>使用占位符输出变量</p>
Hello {{greeting}}
<hr>
</div>

<div>
<p>使用ng-bind指令输出变量</p>
Hello <span ng-bind="greeting"></span>
<hr>
</div>

<script src="../lib/angularjs/1.2.26/angular.min.js"></script>
<script>
function HelloController($scope) {
$scope.greeting = "World";
}
</script>
</body>
</html>

ng-app声明一个angularjs的模块,并限定在声明html标签的范围内。
ng-controller是在模块中声明一个angularjs的控制器控制器可以有多个,但上下文是隔离的,应尽可能缩小控制器的作用范围。
{{}}是angularjs的插值语法,类似于JSP的EL表达式${}。第一个输出因为"World"是个字面值,程序会直接输出;第二个输出因为greeting是在控制器里定义的一个变量,所以也会输出变量对应的值,一样是World;第三个输出利用了angularjs内置的ng-bind属性指令,最终结果等价于{{}},但注意指令=后面是字符串,不要写错。
js里面的HelloController和body上面的指令对应,入参$scope是框架提供的一个服务,代表当前控制器的上下文,还有其他类似服务,框架会自动注入,以后慢慢了解。方法体只有一行,是在$scope上定义了一个变量,就是html代码里引用的变量。
这一篇很简单,代码复制了就能运行。注意angular.min.js是1.2分支最新的版本,同样的代码用1.3.0版本无法运行,原因未知,可能1.3.0还不是最终Release版本有关。



查看完整回答
反对 回复 2019-03-20
?
三国纷争

TA贡献1804条经验 获得超7个赞

用{{}}是一定没法输出html的

不知道你项目里是怎么限制的不能使用 ng-bind-html

那你试试自己写个指令来实现一下好了

1

2

3

4

5

6

7

8

9

10

11

12

13

var app = angular.model('app' , []);

app.directive('stringHtml' , function(){

  return function(scope , el , attr){

    if(attr.stringHtml){

      scope.$watch(attr.stringHtml , function(html){

        el.html(html || '');//更新html内容

      });

    }

  };

});

app.controller('TestCtrl' , function($scope){

  $scope.string = '<button type="button">测试html按钮</button>';

});

html:

1

2

3

<div ng-controller="TestCtrl">

  <span string-html="string"></span>

</div>


 


查看完整回答
反对 回复 2019-03-20
  • 2 回答
  • 0 关注
  • 915 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信