angularjs 怎么动态添加一个有directive的元素

angularjs 怎么动态添加一个有directive的元素,第1张

能具体说一下你的需求吗?

创建自定义指令的方法:

<!--创建自定义指令-->

<div id="appauto" data-ng-app="appauto">

    <!--标签-->

    <app-auto></app-auto>

    <!--属性-->

    <div app-auto></div>

    <!--类名-->

    <div class="app-auto"></div>

    <!--注释-->

    <!-- directive:app-auto -->

</div> var appauto=angular.module('appauto',[])

        appauto.directive('appAuto',function(){

            return {

//                restrict限制使用:

//                A属性E元素C类名M注释,默认EA

                restrict:'AEMC',

                template:'<h1>自定义指令创建</h1>'

            }

        })

        angular.bootstrap(document.getElementById('appauto'),['appauto'])

一般而言就是把表格内的内容利用ng-repeat,ng-bind,ng-model,ng-value,ng-class等属性将对象绑定到对应的标签,当对象的有相应变化的时候,所绑定的值就会变化。比如

<!-- html -->

<table>

    <tr ng-repeat='user in user_list' ng-class='user.sex'>

        <td ng-bind='user.name'><td>

        <td ng-bind='user.age'><td>

    </tr>

</table> //js 控制器内

$scope.user_list = [

    {name:'Tim',age:10,sex:'male'},

    {name'Merry',age:11,sex:'female'}

] /*CSS*/

tr.male{

    color:blue

}

tr.female{

    color:red

}

这个地方,其实不是很有必要去按照ui-router或者什么来配置路由,完全可以自己实现一个功能加载器:$stateProvider//动态菜单.state("Menu",{url:"/menu/:code",templateUrl:"modules/menuloader.html"})然后这个menuloader.html里面,只放一个ng-include,它的地址关联到一个动态变量,这个变量根据传入的那个code去读取。在这个state的resolve里面,根据code获取到菜单对应的html地址,js地址,然后用动态加载控制器的方式把js加载完成,然后把html地址赋值给上一段里提到的那个变量。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11577942.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存