-1
UPDATE:這是一個"X Y problem"。我試圖做到這一點的方式是回答in this answer的問題是一個確切的重複。然而,我最好用ng-bind
來實現我的實際目標,而不是用手重新設計一個kludgey假的單向綁定機制。從腳本標記獲取角度控制器
-
在下面的代碼,controller
未在ready()
回調定義。我真的不認爲這會是。
這裏的意圖是讓控制器在標題發生變化(簡單)時「引發事件」,並在發生這種情況時使用HTML更新document.title
。問題是,HTML有沒有辦法讓控制器實現這個目標?
<html
ng-app="foo"
ng-controller="FooController as controller"
>
<head>
<title>Default Title</title>
<script src="http://code.angularjs.org/snapshot/angular.min.js"></script>
<script src="foo.js"></script>
<script type="text/javascript">
angular.element(window.document.body).ready(
function() {
// This does get called
//alert('test');
// controller isn't defined, not too surprisingly.
controller.titleChanged = function (title) {
//alert(title)
document.title = title;
};
});
</script>
</head>
我可以設置標題是這樣的:
<title>{{controller.title}}</title>
......但後來我看到{{controller.title}}
在我的瀏覽器歷史記錄,而不是一個有意義的標題,而據我瞭解這亦是一個搜索引擎會看到。
當然,我可以讓控制器將新標題分配給document.title
,而現在這就是我正在做的事情,但我更喜歡讓控制器無視視圖。
try'
[This](http://stackoverflow.com/questions/16709373/angularjs-how-to-call-controller-function-from-控制器外部組件/#answer-16737459)可能是您的問題的答案。 – Korte
@IhorKorotenko這是完美的。如果你想把它作爲答案,我會接受它。 –