angular动态渲染问题
来源:互联网 发布:openbugs软件 编辑:程序博客网 时间:2024/06/05 10:26
使用angular的时候,注入双向绑定这些特性用的很爽,但其中也有一些要注意的坑,比如说这几天我在使用公司用angular写成的组件时,遇到了问题,我打算用http.get从后台动态获取数据,然后再动态生成元素,然而,,他无法动态编译,,组件未渲染,这就很尴尬了。。以下是有问题的demo:
<body ng-app="myapp" ng-controller="myctrl" ><div id="mainform"><y-input a-icon="cloud" a-max-length="10" a-value="55555" id="zujian1"></y-input></div></body><script>var myapp = angular.module("myapp",['yDataEntry','yDataDisplay','yFeedback','yun.feedback','yLayout','yNavigation'] );myapp.controller('myctrl',function($scope) {$.get('/getOne?formId=1', function (response) { if (response.result == 'success') { if (response.msg.jsonContent != '') { $('#mainform').append(' <y-input a-icon="cloud" a-max-length="10" a-value="55555" id="zujian1"></y-input>') } }else{ alert(response.msg+'\n请先登录对应账号!') } });});</script>
最后的页面效果是这样的:
动态加入的组件无法渲染。。苦思无解,遂上Stack Overflow求助,,大神一下子就指出了,,你要重新编译,而且,使用angular的时候,最好不要使用jquery,这是个很不好的习惯。。。2333,附上解决代码:
var myapp = angular.module("myapp", ['yDataEntry', 'yDataDisplay', 'yFeedback', 'yun.feedback', 'yLayout', 'yNavigation']); myapp.controller('myctrl', function ($scope, $http, $compile) { $http({ method: 'GET', url: '/lab/form/base/getOne?formId=1' }).then(function successCallback(response) { // 请求成功执行代码 debugger if (response.data.result == 'success') { if (response.data.msg.jsonContent != '') { var elm = $compile(' <y-date-picker a-format="yyyy-MM-dd" a-value="date"></y-date-picker>')($scope); $('#mainform').append(elm) } } else { alert(response.data.msg + '\n请先登录对应账号!') } }, function errorCallback(response) { // 请求失败执行代码 alert("error!") }); });
成功!!兴奋!!
var elm = $compile(' <y-date-picker a-format="yyyy-MM-dd" a-value="date"></y-date-picker>')($scope);
感谢stackoverflow大神,顺便附上我stackoverflow求救的地址:https://stackoverflow.com/questions/45641043/angularjs-rerender-custom-compoments
阅读全文
0 0
- angular动态渲染问题
- Angular directive 递归渲染
- Angular 服务器端渲染中的坑
- 判断angular渲染页面完成
- ionic 中使用 slidebox 利用angular ng-repeat 渲染后不显示问题
- ionic 中使用 slidebox 利用angular ng-repeat 渲染后不显示问题
- ionic 中使用 slidebox 利用angular ng-repeat 渲染后不显示问题
- ionic 中使用 slidebox 利用angular ng-repeat 渲染后不显示问题
- 解决:angular.js中插值表达式为HTML时需要被渲染的问题
- 解决 easyui 动态添加控件时无法渲染的问题
- jquery.bootstrap.wizard 动态添加li后渲染问题
- angular 绑定动态变量
- angular 动态组件
- angular指令监听ng-repeat渲染完成
- 动态渲染easyui
- PyQt5 渲染动态网页
- Angular动态绑定HTML文本
- Angular.js压缩问题
- python之全局变量操作
- Codeforces 835B The number on the board (贪心)
- conda命令行使用
- JAVA第二天
- 2017"百度之星"程序设计大赛
- angular动态渲染问题
- 推荐:Zookeeper 开源客户端框架Curator简介
- linux 服务器 中脚本启动关闭 jar
- LeetCode之Remove Element
- visio studio提高工作效率的十个小技巧
- Codeforces 839A Arya and Bran (模拟)
- Codeforces Round #384 (Div. 2) C. Vladik and fractions
- bzoj 2326: [HNOI2011]数学作业(矩阵快速幂)
- 2017"百度之星"程序设计大赛