在视频AngularJS MTV Meetup:Best Practices( 2012/12/11 )中,Miško解释说"如果你使用ng-model,那里必须有一个点.如果你没有点,你就是这么做的错误.."
然而,Angular.JS网站上的第一个例子(The Basics)似乎与它相矛盾.是什么赋予了?自从MTV聚会以来Angular.JS有没有改变,现在它对ng-model更加宽容?
有没有办法用jQuery方法添加一个Angular指令的元素,append()并让Angular进行编译/链接,使其工作就好像你首先包含了该指令一样?
例:
app.directive('myAngularDirective', [function () {
...
// Lots of stuff in here; works when used normally but not when added via jQuery
});
$("body").append("<my-angular-directive />");
Run Code Online (Sandbox Code Playgroud)
它目前只是附加一个名为"my-angular-directive"的空DOM元素,但是Angular不会启动并发挥它的魔力.
我正在尝试渲染一段html,在动态路由上可用,路由是通过$http.get()调用获取的,它返回一段html,
举一个例子,我尝试加载这个html部分:
<h1>{{ pagetitle }}</h1>
this is a simple page example
Run Code Online (Sandbox Code Playgroud)
我做了一个小小提琴,来模拟问题,但为了简单起见,我把http调出了,只是在范围内的字符串中添加了html.
控制器是:
function Ctrl($scope) {
$scope.data = {
view: "<h1>whaaaaa</h1>"
};
}
Run Code Online (Sandbox Code Playgroud)
页面html是这样的:
<div ng-app="">
<div ng-controller="Ctrl">
<div ng-include src="data.view"></div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
问题是它不会将字符串添加到html文件(ng-include)中,但是它会对由该字符串构成的URL进行http调用.
那么不可能只是在包含中输入一个字符串吗?如果没有,对动态URL进行http调用的正确方法是什么,并将返回的url输入到页面中.
你可以在JSFiddle中玩它.