如何在页面加载渲染html后运行Angular JS?

时间:2014-12-09 17:33:49

标签: asp.net-mvc angularjs

我正在使用angular js开发asp.net mvc项目。

我正在制作标签并在点击事件后安装相关的部分视图。

我发送json的部分视图html到主页但角度代码在页面上不起作用

我该怎么办?

Sample Problem

HTML:

<div ng-app="MyAppS">
<div ng-controller="AnaTest">
    <button id="btn1" ng-click="btn1Click()">click</button>
</div>
<div id="m_area">
</div>
<br />{{ 'Hello Angular' }}</div>

的javascript:

var m_app = angular.module('MyAppS', []);

function AnaTest($scope) {
    $scope.btn1Click = function () {
    var runtimeBtn = angular.element("<button ng-click=\"btn2Click()\">Help Me!        </button>");
    $('#m_area').html(runtimeBtn);
};

$scope.btn2Click = function(){
    debugger;
    alert('Why can not show?!');
    };
};

m_app.controller(&#39; AnaTest&#39;,AnaTest);

1 个答案:

答案 0 :(得分:0)

您需要$compile

var runtimeBtn = $compile(angular.element("<button ng-click=\"btn2Click()\">Help Me!</button>"))($scope);

请在此处查看:http://jsfiddle.net/7yqrjdkk/8/


然而,更多&#34; Angular&#34;这样做的方法是将它放在同一控制器/范围内,只需使用ng-show,如下所示:http://jsfiddle.net/7yqrjdkk/9/